マイグレーションここでいうマイグレーションとは、データベースのテーブルやカラムの追加や変更の定義を管理することを指します。いうテーブルが追加されました。同時にいくつか追加されたテーブルがありますが今回使用しないため気にする必要はありません。シーダー(初期データ)シーダーを生成するコマンドは標準でないので通常通りファイルを作成します。}}記事シーダーを作成したら下記のコマンドを実行してください。ArticlesTableSeederデフォルトでDatabaseSeederが実行されるので記事データがインサートされます。2回目以降であれば下記コマンドが便利です。ArticlesTableSeederいよいよブログアプリの作成に進みます。記事モデルの作成はじめはモデルを作りましょう。successfully.さっそく生成されたArticleモデルを確認してみます。//}モデルはappディレクトリ直下に生成されます。モデルがアプリの中枢を担うことになりますので妥当かもしれませんね。新たにModelディレクトリを作成してそこに配置してもLaravelでは何も問題ありません。ひな形へ肉付けしていきます。'body'];}対応するテーブル名や保存が可能なフィールドを定義しました。(テーブル名はDRYに従っていれば実質不要なのですが明示的にするため記載しました。確認してみてください。他にどのようなプロパティが設定できるのか知っておくことは大切です。今回定義しなかった「$perPage」はページネーションで1ページに表示する件数を指定することができます。コントローラーコントローラーのひな形を生成します。successfully.生成されたファイルはリソースコントローラーを前提とするアクションがずらっと定義されています。今回は暗黙的コントローラーとして実装していきたいので一旦すべてのメソッドを削除してください。アクションをそれぞれ定義していきます。}}暗黙的コントローラーでは、URIとHTTPメソッドで対応するアクションが決定します。上記ではgetCreate()とpostCreate()では対応するURIは同じになりますが対応するHTTPメソッドが異なります。PATCHやDELETEといった他のHTTPメソッドにも対応可能ですが今回は割愛します。ルーティング作成したコントローラーをルーティングへ追加します。'/'へのアクセスは記事一覧、'/articles'は暗黙的コントローラーとして定義します。読み込まれているためです。ネームスペースとするグループのルーティングだと定義されているおかげです。次に一覧の作成に取り掛かります。インサートした記事をすべて表示させましょう。すべて記事を取得してビューへ渡すアクションを作成します。}view()の中身はドット繋ぎでディレクトリ構造を表現できます。with()にはビューで使いたいデータを配列で渡してあげればOKです。次にビューを作成します。テンプレートエンジンはLaravelデファクトのBladeを使用します。アプリらしくViewExtends、共通のビューと個別のビューを別々に作成します。次は記事の詳細を表示するページを作成していきます。}データはview()の第二引数から渡す方法もあります。記事の詳細が表示されます!記事の一覧に詳細ページへのリンクを追加してみましょう。</table>@endsection一覧から詳細リンクをクリックすると詳細ページに遷移されるようになりました。Laravelが初めての方でもなんとなくイメージは掴めてきたでしょうか?次は投稿処理です。投稿は一覧や詳細と違いPOSTを受け付けます。postCreate()上記を理解していればアクションとフォームで何をしなくてはいけないかハッキリしますね。}L5ではアクションなどでメソッドインジェクションによる依存性の注入が可能です。記事投稿のビューと、ここで問題発生です。記事投稿用のフォームの作成をしていきますが、ワタクシここでハマりました。L4ではFormクラスとHTMLクラスといういわゆるヘルパークラスがありそれを使おうとしてもなぜか使えずに悩んでいました。IDEでファサードが補完されない時点で「オヤ?」と思いサービスプロバイダーを確認したところ見当たらずロードされていないことに気が付きました。L5からFormクラスとHTMLクラスは統合されなくなったようで別途Composerによるインストールが必要なことが分かりました。いう訳で、あった方が便利なので準備します。'Illuminate\Mail\MailServiceProvider',ファサードも変更します。'Illuminate\Support\Facades\Input',これでHTMLクラスとFormクラスの準備は完了です。L4からやってる人はハマるだろうなぁと思いました。リリース頃にまたリポジトリが変わってしまったことの指摘があり修正しました。トイキン君さんありがとうございます。気を取り直して、記事投稿ビューの作成です。!!}@endsection'/articles/create'へアクセスしてください!フォームが表示され投稿が可能になったはずです。編集は既に投稿を作っているため特筆することがありませんが、せっかくなのでソースを見ないで自分で作ってみるのも理解への近道かもしれませんね。}with()はマジックメソッドとしても利用可能です。!!}@endsection編集ページヘの導線を作成しましょう。</table>@endsectionこれで編集も出来ましたね!最後は削除です。記事の削除もしGETで受け付けた場合は'/articles/delete/1'にアクセスした時点で削除されます。それは厳しいと思いますのでPOSTでのみ受け付けることにします。まとめL5でブログアプリを開発してみましたがどうでしょうか?正直シンプルすぎる構成ゆえL5の魅力をお伝え出来たとは思っていません(自分も全然満足していません)。個人的に注目しているのは新しくなったバリデーション、扱いやすくなったサービスプロバイダー、モデルとルーティングのバインド、メソッドインジェクションによる依存性の注入、他にも様々な機能が盛りだくさんで正直一記事で説明するのは無理があると思いました。それらも今後発信していけたらと思います。記事のソースでエラーが出たとかあればコメントください!それでは〜!(ソースは欲しい方いれば公開します。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。