LoginSignup
8
7

More than 5 years have passed since last update.

Laravelを使い始めてみた

Last updated at Posted at 2016-10-15

新しい案件でLaravelを使い始めてみたので色々感想をまとめてみた。

PHP利用歴

  • オレオレフレームワーク
  • CakePHP 1.x/2.x
  • Laravel 5.2 ← 今ココ(5.3への移行も検討中..)

最近のPHPで嬉しい点

Laravel 5.3は5.6.4以降のPHPで動くのであんまり使ってこなかった新機能をバリバリ使うようになりました。

  • Closure
  • Generator
  • arrayの短縮形([1, 2, 3])
  • trait

\(^o^)/

今更感ありますがひと昔前のPHP文法を使ってたので便利さに感動した

Laravelの嬉しい点

  • ルーティング設定が柔軟に出来る. 簡単なページではClosureも使えるし、ドメイン毎に設定するのも可能
  • DB Migrationが便利. fluentな文法でスキーマ定義ができる. 様々な型(enum, json, jsonb等)のカラムが定義できる → 参考
  • Query Builderが便利。fluentな文法で生SQLじゃなくても複雑なクエリーが記述できる → 参考
  • Validationが使いやすい(CakePHP2ではValidationとModelがくっついていた) → 参考
  • Cache::remember()が便利 → 参考
  • Collectionが便利. array_*関数さようならw → 参考
  • artisan serve (簡易Webサーバー機能)が便利
  • artisan tinker(REPL機能)が便利. これでドキュメントを探さなくても実際の挙動等を確認できる.
  • Task Schedulerでcrontab触らなくて良くなった → 参考
  • SocialiteでOAuth認証も楽勝!

Laravelの困った点

  • EloquentとQuery Builderの違いに戸惑った
  • Relationを返すメソッドとプロパティの違い → 参考
  • Form Helperが無い. 手で書く必要がある
  • dotenvファイルの管理方法に悩む
  • Query Builderで取得できる結果がStdClassなので振る舞いを持たせられない. 後に解決
  • 巨大なテーブルをcursorで1行ずつ処理しようとしたらメモリー不足でコケる件
  • なんでQueue Driverのデフォルト値(.env.sample)がsyncなのか...
  • MySQLのcollationの設定がutf8_unicode_ciになっている. config/database.phpを編集すればOK

これから調べる

  • Task Schedulerのプロセス監視
  • Queueの監視
  • Test関連
  • ACL
  • Elixir
  • Supervisor上で動いているQueue Workerを安全に止める方法
  • ログローテート
  • チューニング
8
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7