この記事ではPHPのフレームワークの中でも人気のあるLaravelを使って 簡単なECサイトを作ることを目的とします。 サイトはこんな感じです↓ 作る機能 商品一覧(ペジネーション利用) 会員登録 ログイン カート機能(追加・削除・合計金額) *" を追加しましょう。 下記のように書きます。xxxxx_create_messages_table.php から見ていきましょう 。 // 追加 というところを追記してみてください。という箇所があるかと思います。これは、home.blade.php や about.blade.php の中の、入力後、app/Message.php と config/xxxxx_create_messages_table.php が出来上がります。続いて、前回作成しました、以下の3つのbladeファイルに、それぞれ追記してしまいましょう。リンク先のドキュメントには、5.5 の記載がありませんが、ファイル自体は存在します。まずは、下準備から行います。Laravel本体には入っておりませんが、便利なライブラリがあるので、それを使用してみましょう。laravelcollectiveというものです。 これは、Laravel本体から外されたパッケージを有志の方々がメンテナンスしているプロジェクトです。// 追加 と書かれたこのカラムが、先ほど作成しました contact.blade.php のフォームの部分と重なってきます。home.blade.phpや、about.blade.phpの中に、移動したら、新規にlaravelプロジェクトを作ります。 バージョンに5.5を指定して最新版をインストールします。さて、第2回目の今回は、お問い合わせの画面・処理についての解説です。Form::label() は第一引数に、後に作ります、 Message モデルのインスタンスである $messages のカラムを持ってきます。尚、第二引数はタグの中身となります。PagesController.php が作成できたら、そのファイルを開いてましょう。まず、App\Providersの中の、AppServiceProvider.php を開きましょう。その中のbootメソッドに、下記のコードのように追記します。 5.4以降のLaravelでは、migration時に、カラムの最大値を変更しなかった場合、255文字まで入るように設計されています。しかしながら、MySQLではPRIMARY_KEYおよびUNIQUE_KEYを付けたカラムには最大767bytesまでしか入らないこの問題を放置したままmigrationしますと、当然、コケます。そうならないように、下記の設定をしておきましょう。Form::text() の第一引数は Form::label() と同じく $messages の カラムを持ってきます。 それにより、 が生成され、 Form::textarea() には、が生成されます。これで、使用する準備が整いました。 早速実装していきましょう。ここまでできましたら、3つ目の contact.blade.php に入りましょう。簡単にこのルーティングファイルの説明をしておきますと、'/'や'/about'へ、getリクエストをしたときに、PagesController.phpが動き、@以下にあります、先ほどPagesControllerに記載した、getHomeメソッドや、getAboutメソッドが対応してデータをビューに受け渡すという処理の流れをしています。ここまでできたら、それぞれのビューファイル(bladeテンプレート)を表示する作業に移ります。Form::open() でフォームを開始して、 Form::close() でフォームを終了しています。これはForm::submit('送 信') はを生成する関数で、第一引数に書いた名前で表示されます。 送信しますと、 Form::open($messages, ['url' => 'contact/submit']) の指定されたURLへ、フォームの入力内容が送信されていきます。データベース名 laravelbasicweb に、 root ユーザでパスワード無しでログイン( mysql -uroot )して、 実行する( use laravelbasicweb ) ということになりますね。先に、home.blade.php と about.blade.php から見てみます。この2つのファイルは同様のことをしています。開いたら、この中の、PagesControllerクラスの中に、先ほど作ったbladeファイルへデータを受け渡すためのコードを書いていきます。の中の内容に、それぞれ対応しています。そうして各ページのコンテンツを表示させています。Controller created successfully.と表示されれば完了です。それでは、下記のコマンドを入力し、早速サーバーを起動して確認してみましょう。でも良いので、入力して上書き保存し、ブラウザから確認してみましょう。表示されておりますでしょうか。 初心者ながら現在PHPとLaravelについて学習していましてLaravelで行う時、どのようなロジックで行うかがわからないためご教授頂ければと思います。 よく不動産ECサイトで設備情報が乗っていると思います。これをLaravelで行うとしたらどうすればいいのかわからなく困っています。※コードやD ・ポートフォリオを作るにあたり、CakePHP はまずは全体を理解してからではないと難しいが、Laravel のほうが部分的に理解できていればなんとかなると思う。 ・日本国内で Laravel についての情報がここ最近だいぶ増えてきている。 次回は、お問い合わせの処理のところについて解説を書く予定です。ルートディレクトリの、composer.json の require の項目の中に "laravelcollective/html": "5.5. XAMPPにLaravelを1度ダウンロードしてみたんだけど・・。これって毎回何かコンテンツを作る度にLaravelをダウンロードし直す必要があるの?それとも一回だけダウンロードすれば、他のコンテンツ