はじめに

下記の親記事を参考にLaravel5.6で書き直す形で掲示板を作ってみました。ハマりそうなポイントを記事にまとめてみました。基本は親記事をもとにすすめて、うまくいかずに詰まったときに本記事のサンプルコードを参考にすると幸せになれるかもしれません。

親記事

【保存版】Laravelで掲示板を作成する方法【チュートリアル】

サンプルコード

Github

環境

Laravel: 5.6.12

modelsディレクトリのオートローダー設定

Eloquentのモデルをappディレクトリ以外に作成して利用する場合は、composer.jsonにオートローダーの設定をする必要があります。親記事のチュートリアルではapp/modelsディレクトリにモデルクラスを作成していましたので、modelsディレクトリの中をオートロードしてくれるよう設定していきます。

1. composer.jsonを書き換える

composer.jsonの20行目あたりにclassmapの設定項目がありますので、そこにapp/modelsを読み込むよう1行加えます。

"autoload": {
    "classmap": [
        "app/models",  // この行を追加
        "database/seeds",
        "database/factories"
    ],
    "psr-4": {
            "App\\": "app/"
    }
},

2. composer.jsonの変更を下記コマンドで反映

composer dump-autoload

オートローダーの役割ってcomposerが担ってくれていたんですね。てっきりLaravelがやってくれているものだと思ってました。

リソースコントローラを作成するためのコマンド

Laravel5.6だと下記のように打つとうまく生成されます

php artisan make:controller PostsController --resource

postでstoreコントローラにアクセスできない

LaravelではCSRF対策でformの中に@csrfディレクティブを記述しないとうまくPOSTでアクセスできないようになっています。詳しくはLaravelの公式ドキュメントあたりを参照してください。

Laravel 5.6 CSRF保護

さいごに

自分で最新版のLaravelに書き換える作業が一番勉強になったりするので、みなさんも元ネタの記事から頑張って書き直してみるのもありかもしれません。本記事のソースコードを答え合わせとして使ってみてください。

参考サイト

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.