PHP
phpenvをインストールしました
LaravelPHPphpenv

phpenvをインストールします

[f_prg@~] $ curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | bash

~/.zshrc を編集します

# phpenv
export PHP_ROOT="${HOME}/.phpenv"
if [ -d "${PHP_ROOT}" ]; then
  export PATH=${PHP_ROOT}/bin:$PATH
  eval "$(phpenv init -)"
fi

php-buildをインストールします

[f_prg@~] $ git clone git://github.com/CHH/php-build.git $HOME/.phpenv/plugins/php-build

インストールしたいPHPの一覧を取得します

[f_prg@~] $ phpenv install -l

phpをインストールします

[f_prg@~] $ phpenv install 7.0.9
[f_prg@h~] $ phpenv global 7.0.9
[f_prg@~] $ php -v
PHP 7.0.9 (cli) (built: Aug 27 2016 15:17:57) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.9, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans

おまけでLaravel 5.3を試してみます。

composerはすでにセットアップされているものとします。

[f_prg@laravel] $ composer.phar create-project laravel/laravel laravel --prefer-dist
[f_prg@laravel] $ php artisan serve

pic1.png

勉強会・セミナー
PHPカンファレンス関西2016でお話してきました。
AWSPHP勉強会・セミナー

発表資料です。

2016/07/16 PHPカンファレンス関西2016でお話しました内容になります。

イベントページ

参加してみて

もうちょっと、PHPのお話したほうがよかったのかなぁと
思っております。
参加してみて、PHPの力をもっとつけようと感じました。
参加させていただいて、とってもよかったです。

勉強会・セミナー
Laravel Meetup Tokyo Vol.6に参加してきました
LaravelPHP勉強会・セミナー

はじめに

こんにちは。インフラエンジニアレベル1のf_prgです。
Laravel Meetup Tokyo Vol.6に参加してきました。

Laravel 5.1 Release! (@ytake)

イベントページの内容とリリースに合わせて変更になってます。

5.1の特徴

LTS(Long Term Support)
bugfixに2年。securityに3年。

ドキュメントが豊富に

PHPバージョン

PHP 5.5.9以上
仕様しているPHP状況に応じて5.0でも良いかも。

mcryptが不要に

暗号化にはopensslエクステンションが必要になる

5.0からのアップグレードについて

  • compile file
  • キャッシュファイル
  • AuthController
  • Validation
  • Eloquent
  • Collection
  • CommandBus —> Job

5.2でなくなる予定

  • Middleware, TerminableMiddleware
    PSR7に合わせてなくなるのかも。
  • Bus/DispatchesCommandsがJobに変更
  • コンテナのbindshared

コーディング規約

フレームワークはPSR-2へ

5.1の機能紹介

  • route group
  • CSRF token
  • HTML, Form
    Laravelパッケージから外されている
  • Modelsディレクトリは削除

  • よくあること、make:modelするとapp直下にできる

    php artisan make:model Models\\Messages
    

    でやるとそういったことはなくなる。
    バックスラッシュ2つ。

  • laravel elixir
    gulpを使った開発支援タスクランナー
    less, sassコンパイル
    phpunit自動実行
    babelタスク追加
  • middleware
  • Request
  • Broadcast
    RedisのPub/Sub
    Pusher(海外サービス)
  • Faker factory
    ダミーデータ生成、DBに入れることもできる
  • functional test
    クローリングするテスト(seleniumに近いような、テスト)

その他

Laravelはアーキテクチャを作るフレームワーク

LT

Laravelでバッチを作ってみた。

アプリ(Apple, GooglePlay)のカスタムレビューを
Laravelでまとめる。
dipではTypetalkを使っているそうです。

LaravelアプリケーションをSeleniumでテストしてみた

WebDriverを使用

composer.jsonで

phpunit/phpunit-selenium

サーバ環境の用意に疲れた

firefox、Xvfb、Selenium Server

Domのアクセスは非常に簡単。

スクリーンショット

エラーが出たらスクリーンショットをとる。
前のものと比較ができて便利。

Githubでの共有予定

Laravel5.0を2日触ったばかりの人が5.1にあげた話

composer

とりあえず、アプデートしたら失敗

  • bootstrap/cacheフォルダの手動作成
  • unitテストの修正

ドキュメントを読んでください。

プロジェクトを作り直した

  • オートコンプリートが効く
  • namespaceの宣言位置が違う
  • 認証ページがない。作り方は公式ページにある。
  • cssフォルダがない

まとめ

ドキュメント読もう。
create-projectのほうがすっきりする。

モデルディレクトリがなくなった理由

L4までは今までの親しみのためあったよう。

オートローダー

  • composerで管理する
  • requireとかは使わない。
  • PSR-4、それぞれのライブラリの共通化

ファイルを読み込み作成する仕組み
デメリット、ネームスペース書きづらい
メリット、require地獄から抜けられる

Fakerの紹介

宣伝

  • qiitaにLaravelの書籍まとめ記事を記載。
    英語書籍が増えてきた。
  • PHP勉強会
  • phpcon 2015
  • phpカンファレンス発表公募のコツ
    • 一般の発表は倍率高め、LTは低い
    • 宣伝はNG
    • フレームワークだけの発表はNG
    • セクハラネタ禁止
  • Laravel Meetup Tokyo Vol.7について

まとめ

前からLaravel勉強会の参加してはキャンセルし、ようやく参加できました。
久々の開発の勉強会で、なかなか情報を得ることができました。
Laravel 5.1が出た直後でしたので、いいタイミングで参加できました。

補足、おまけ

Laravelのddが便利でした。
http://laravel.com/docs/4.2/helpers