『Laravel入門編3: Laravelのビューとフォームを理解しよう (全11回)』
メモ
#01:投稿フォームを作成しよう
- 掲示板を題材に、ビューとフォームを学習
- テンプレートの共通化(bladeというテンプレートエンジンを使う)
- Bootstrapを組み込む
- 検索フォーム
- 投稿フォーム(新規、作成、編集、更新)
- 参考になるWebページ
- ### Bladeテンプレートエンジン
- Bladeテンプレート 5.6 Laravel
https://readouble.com/laravel/5.6/ja/blade.html - 【Laravel】Viewのbladeの書き方 - Qiita
https://qiita.com/sola-msr/items/a128f4e0900f3541690c
- Bladeテンプレート 5.6 Laravel
- ### ビューの共通化
- LaravelのBladeテンプレートでレイアウト部分を共通にする | cly7796.net
http://cly7796.net/wp/php/to-a-common-layout-in-blade-template-of-laravel/ - Blade テンプレートについて - Laravel学習帳
http://laraweb.net/knowledge/2174/
- LaravelのBladeテンプレートでレイアウト部分を共通にする | cly7796.net
- ### 検索フォーム
- 検索機能の作成 - Laravel学習帳
http://laraweb.net/tutorial/607/ - Laravelで検索フォームを実装してみる | cly7796.net
http://cly7796.net/wp/php/try-to-implement-the-search-form-in-the-laravel/ - Laravel5.5でお手軽にフィルタ&検索付きメモアプリを作るチュートリアル - Qiita
https://qiita.com/namaozi/items/11b65ccb6b7ecaefc23e - CSRF保護 5.6 Laravel
https://readouble.com/laravel/5.6/ja/csrf.html
- 検索機能の作成 - Laravel学習帳
- ### リンクの生成
- URL生成 5.6 Laravel
https://readouble.com/laravel/5.6/ja/urls.html
- URL生成 5.6 Laravel
- ### フォーム
- Laravel Collective
https://github.com/LaravelCollective/docs/blob/master/html.md
- Laravel Collective
- ### Bladeテンプレートエンジン
#02:テンプレートを共通化しよう
- 共通テンプレートの変更部分を指定する
resources/views/layout.blade.phpを新規作成- <body>
@yield('content')
</body>
- <body>
- その他のphpファイルに、セクションを追加
resources/views/index.blade.phpの編集- @extends('layout')
@section('content')
(内容)
@endsection
- @extends('layout')
#03:掲示板にBootstrapを適用しよう
- Bootstrapを読み込む
resources/views/style-sheet.blade.phpを新規作成 - ナビゲーションバーを追加する
resources/views/nav.blade.phpを新規作成
#04:Bootstrapでページの見栄えを整えよう
- 一覧ページをテーブルとボタンに変える
resources/views/index.blade.phpの編集 - 詳細ページのボタンを変える
resources/views/show.blade.phpの編集
#05:検索フォームを設置しよう
- Form用ライブラリのインストールについて
- Laravelでフォームを使用するには、「laravelcollective/html」というライブラリが必要になる。
$ composer require "laravelcollective/html"
- Laravelでフォームを使用するには、「laravelcollective/html」というライブラリが必要になる。
※ 前レッスンでインストール済み
- ファサードとは
- Laravelでフォームを利用するには、2重の波カッコにフォームと記述する。このような部品を、Formファサードと呼ぶ。
- ファサード(facade)とは、建物の入り口という意味。Laravelのファサードは、アプリケーションのサービスコンテナに登録したクラスに対するインターフェイスを提供する。
- 検索フォームのテンプレートを用意する
resources/views/search.blade.phpの新規作成 - 記事一覧に検索フォームを追加する
resources/views/index.blade.phpの編集
#06:フォームの値を取得しよう
- 検索機能を追加する
app/Http/Controllers/ArticleController.phpの編集
#07:掲示板のルーティングを設計しよう
- ルーティングを記述する
routes/web.phpの編集- 投稿:Route::post('/article', 'ArticleController@store')->name('article.store');
- 編集:Route::get('/article/edit/{id}', 'ArticleController@edit')->name('article.edit');
- 更新:Route::post('/article/update/{id}', 'ArticleController@update')->name('article.update');
- コントローラのメソッドをテストする
app/Http/Controllers/ArticleController.phpの編集- public function edit(Request $request, $id, Article $article)
#08:新規投稿フォームを作成しよう
- コントローラのstoreメソッドで、固定テキストを保存する
app/Http/Controllers/ArticleController.phpの編集- public function store(Request $request)
- createメソッドで、フォームを呼び出す
app/Http/Controllers/ArticleController.phpの編集- public function create(Request $request)
#09:記事の保存機能を完成させよう
- 新規投稿フォームをnew.blade.phpに記述する
resources/views/new.blade.php - 投稿内容を保存するようstoreメソッドを修正する
app/Http/Controllers/ArticleController.phpの編集- public function store(Request $request)
#10:編集フォームを追加しよう - その1
- コントローラに、Editを追加する
app/Http/Controllers/ArticleController.phpの編集- public function edit(Request $request, $id, Article $article)
- 編集フォームを記述する
resources/views/edit.blade.phpの新規作成
#11:編集フォームを追加しよう - その2
- コントローラに、updateを追加する
app/Http/Controllers/ArticleController.phpの編集- public function update(Request $request, $id, Article $article)
- show.blade.phpから、編集フォームにリンクする
resources/views/show.blade.php
認定証
チャプター9を終了した時点で、学習ステータスの進化と認定証の交付があった。
チャプター10と11には、演習課題がないからか。
※コメント投稿者のブログIDはブログ作成者のみに通知されます