oishisouプログラマ、ララ・ベル子さん改めArm4さんのゆるふわ奮闘記。この広告は、90日以上更新していないブログに表示しています。4.2から5.0の変更点Laravelおっす。4.2から5.0の変更点まとめ記事をアップするよ。その前に恒例の雑談を少々。「ウケるーかわいいー」って言い合ってるのを誰でも一度は聞いたことがあると思います。今日、Githubのタコ足の猫のステッカーを会社の人からお裾分けしてもらったんですが、それが「超かわいいー」「マジかわいいねー」「ウケるーかわいいー」だったんですね。いう時に女の子がいないとどうなるかっていうと一人かわいいのコールアンドレスポンスになってしまうわけです。孤独を愛するベル子さんも、今日ばっかりはさすがに寂しかったです。どんな挙動不審な子でも、リア充爆発しろを連呼してるような子でも、百歩譲って男の娘でもいいので、もう一人だけ女子(っぽい)プログラマーがいるといいなぁと思う今日このごろです。真面目な話、うちの会社は女子も働きやすい職場だと思うので。思う根拠は見つからないのですが、私が言うんだから間違いないです。4.2から5.0への変更点まとめです。最後のほうは、よく分からない機能もいっぱい出てくるので、単にドキュメントの翻訳になってしまいました。Laravelのドキュメントの日本語訳は、みなさんもご存知だと思いますがすでに訳されている方がいらっしゃいまして、その方の翻訳が素晴らしいのでいったい私は何をしたんだろう?(白目)という気持ちになりましたが、英文を翻訳するという作業は、本当に内容を理解していないとできないことなので、そういう点で調べ物もいろいろすることになって、非常に勉強になるんですね。いうことで翻訳されてる方のページも貼っておきますので、私の翻訳と見比べて心の中で「俺は断然ベル子派だぜ!」と思っていただいても構いません。リリースノートhttp://readouble.com/laravel/5/1/ja/releases.html#laravel-5.0・フォルダ構造app/modelsディレクトリが削除され、代わりにappフォルダ直下に入れられるようになった。配下に格納するようになった。providerファイルとして格納するようになった。langファイルとviewsファイルはresourcesディレクトリ配下に配置された。)がapp配下から移動されルートに配置されるようになった。・名前空間の採用5.0から名前空間指定が必須となった。・契約Laravelの主要なサービスがilluminate/contracts配下にインターフェースとしてまとめられた。artisanコマンドを実行すると、app/Http/routes.phpの代わりにキャッシュされたルートが使用されるようになり、アプリケーションルート登録時間を劇的に短くすることができる。新たにルートを追加した際は再度コマンドを実行する必要があり、キャッシュを削除したい場合は、route:clearコマンドを実行する必要がある。4ではフィルターと呼んでいた機能が、5.0ではHTTPミドルウェアになった。認証フィルターとCSRFフィルターはミドルウェアに置き換えられapp/Http/Middlewareに個別のファイルとして格納されている。・コントローラメソッドインジェクションClassのオブジェクトをコントローラーのコンストラクタだけじゃなくて、個別のメソッドにタイプヒントで注入できるようになった。メソッドに他のパラメータが渡されていたとしても、サービスコンテナは自動的に判別して注入してくれる。・認証スキャフォールドユーザー登録、認証、パスワードリセットコントローラーが初めから用意されていて、対応するビューやusersテーブルのmigrationもデフォルトで用意されている。・イベントオブジェクトイベントは文字列の代わりにオブジェクトとして定義できるようになった。イベントハンドラーはデータのリストを受け取る代わりに、イベントオブジェクトを受け取る。・コマンド/キューLaravel4でのキュージョブフォーマットに加え、5ではシンプルなコマンドオブジェクトとしてキュージョブを表現できるようになった。格納場所はapp/Commandsディレクトリに配置する。・データベースキューデータベースキュードライバーが追加された。データベースソフト以外の追加パッケージを必要としないシンプルなローカルキュードライバーである。・Laravelスケジューラーこれまでエンジニアは、定期的に実行したいCUIコマンドがある場合、そのたびにCronエントリを作成してきた。作成したCronエントリはソース上のどこからも見つけられず、追加するにはサーバーにSSH接続する必要まであり、エンジニアたちの悩みの種となっていた。Laravelのコマンドスケジューラーを使って、コマンドのスケジュール管理をLaravel上でスムーズで分かりやすく定義できるようになった。HilmanのPsyshを利用することにした。4で使っていたBorisを気に入ったのであれば、きっとPsyshも気に入るだろう。優れていると言っていい。LucasのDotEnvを利用することにした。このライブラリは環境設定をスーパーシンプルな方法で管理でき、Laravel5の環境設定をスムーズに行えるようにする。Elixirは、各種メタ言語のコンパイルや、ファイル結合をするための、スムーズで分かりやすいインターフェースを提供する。これまでGruntやGulpを学ぶことに怯えていたのなら、もう怖がることはない。Elixirを使えば、Gulpを使用してのLess、Sass、CoffeeScriptのコンパイルを超絶簡単に始められる。5.0+互換パッケージとして、超絶簡単なOAuth認証機構を提供する。現在、SocialiteはFacebook、Twitter、Google、GitHubをサポート。・Flysystem統合パワフルなファイルシステム抽象化ライブラリFlysystemをLaravelに導入。storageのすべてを1つに統合する統一されたエレガントなAPIである。S3に保存するのが、超簡単になった。・フォームリクエストIlluminate\Foundation\Http\FormRequestクラスをextendしたフォームリクエストクラスが追加になった。このリクエストオブジェクトはコントローラーメソッドインジェクションで注入され、定型的なバリデーション用の記述をすることなく、ユーザー入力のバリデーションが行える。注入されたクラスがフォームリクエストのインスタンスであるとLaravelサービスコンテナに認識されると、リクエストは自動的にバリデーションにかけられる。コントローラーのアクションが呼び出されると、HTTPリクエストのinputはフォームリクエストクラスで定義されたrulesに従い検証される。リクエストが検証通過しない場合はリダイレクトされ(カスタム可能)、エラーメッセージが次のリクエストの間だけ、セッションに保存される(またはJSONに変換される)。traitが含まれた。このtraitは入力リクエストを検証するシンプルなvalidateメソッドを提供する。フォームリクエストがアプリケーションに対して大げさだと思う場合は、こちらも利用できる。バリデーションが通らない場合は、例外が投げられ、自動的に適切なHTTPレスポンスがブラウザーに返される。バリデーションエラーが次のリクエストの間だけセッションに保存される。リクエストがAjaxだった場合、LaravelはJSON記法でバリデーションエラーを返却してくれる。新しいデフォルトアプリケーション構造を補完するため、新たにArtisanジェネレーターコマンドがフレームワークに追加された。listを参照してほしい。・設定のキャッシュconfig:cacheコマンドで、全ての設定を1つのファイルにキャッシュできるようになった。VarDumper仕様にアップグレードされた。出力は色分けされ、配列は折りたためるようになった。▼アップグレードガイドhttp://readouble.com/laravel/5/1/ja/upgrade.html#upgrade-5.0・環境設定app/config/{environmentName}/での設定を.envに変更。value')でアクセス可能。.envの書き方については.env.exampleを参照。ディレクトリへ・ルートフィルターapp/filters.phpは使用しなくなった。'auth']で参照できる。Filtersは5で削除されたわけではないのでbeforeとafterを使いカスタムフィルターを作成することはできる。・グローバルCSRFデフォルトで全てのルートに対して、CSRFプロテクションが効いている仕様に変更された。CSRFプロテクションを切りたいときや、特定のルートのみに効かせたい場合は、App\Http\Karnelを修正する。・model格納用ディレクトリmodelファイル格納用ディレクトリはなくなり、app直下に配置するような構造になった。app/Modelsディレクトリを作ってファイルを格納したい場合は、composer.jsonのclassmapディレクティブにディレクトリを追加するのを忘れないこと。・EloquentキャッシュEloquentのクエリーをキャッシュするrememberメソッドが削除された。Cache::remember関数を使って各自でキャッシュすること。使用するtraitとinterfaceの名称が変更になった。メソッドの変更はない。}}}のどちらを使用した際の出力もエスケープ処理されるように変更。4.2のBladeシンタックスを使用しなければならない場合は、以下の場所に以下の3文を追記のこと。--}}のコメント用タグも廃止になった。resources/lang・Publicディレクトリ4.2からアップデートする際は、index.phpは5.0用を使用すること。配下へ格納することを推奨。自分で追加する必要がある。"~3.0”・リモートRemoteコンポーネントは使用不可に。長かったですね!最後まで読んでくれたあなたには、きっと幸せが訪れます。4.2から5.0の変更点Tweet広告を非表示にする関連記事2017-11-30Laravelでカスタムフォーム使ってViewを綺麗に保とうずどうも。お久しぶり、あなたのベル子です。Loadingについて書いていきますYO。ヶ月)プログラマ、ララ・ベル子さん改めArm4さんのゆるふわ奮闘記。DesignをVueコンポーネント設計に適用するために見るやつ月別アーカイブリンク中の人やってる会社の公式TwitterQiita前のブログgithubはてなブログをはじめよう!arm4さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。