PHPフレームワーク Laravel入門 第2版 7章 メモ
Chapter 7 RESTfulサービス/セッション/ペジネーション/認証/テスト
7-1
- RESTfull概説
- php artisan make:migration create_restdata_table
- php artisan make:model RestData
- php make:seeder RestDataTableSeeder と登録
- php artisan db:seed
- php artisan make:controller RestappController --resource
- --resource でメソッドを自動生成してくれる
- ルート情報: Route::resource('rest', 'RestappController');
- CRUD系のルートを自動で登録してくれる
- コントローラーで、配列を返すと、JSONを応答してくれる
- レコード追加実装
7-2 セッション
- 単純なセッション
- database を使うセッション
- config/session.php
- 'driver' => env('SESSION_DRIVER', 'database'),
- // 'driver' => env('SESSION_DRIVER', 'file'),
- .env
- SESSION_DRIVER=database
SESSION_DRIVER=file
- セッション用テーブルを作るための migration 作成 と 実行
- artisan session:table
- artisan migrate
- config/session.php
7-3 ページネーション
- ページネーション概要
- DBクラスとsimplePaginate()での実装
- モデルクラスとpaginate()、orderBy()での実装
- 移動リンクのテンプレート利用
7-4 ユーザー認証
- laravle/uiインストール
- composer require laravel/ui は失敗
- composer require laravel/ui 1.* にした
- --> https://qiita.com/daisu_yamazaki/items/a914a16ca1640334d7a5
- artisan ui vue --auth
- npm install && npm run dev は失敗した
- npm install --no-bin-links にした
- --> https://qiita.com/Y-Kanoh/items/58815aafb7346930f370
- npm run dev は失敗した
- --> https://qiita.com/ishizukih/items/9673e709832dacaa5155
- --> https://github.com/JeffreyWay/laravel-mix/issues/1072
- rm -rf node_modules
- rm package-lock.json
- npm cache clear --force
- npm install --no-bin-links にした
- https://github.com/laravel/framework/issues/18446
- npm install cross-env --no-bin-links
- npm install node-sass --no-bin-links
- https://qiita.com/Yorinton/items/fd9dae33c6748abcdfbc
- package.json: cross-env を node node_modules/cross-env/src/bin/cross-env.js に書き換え、下のdevelopment ほかに、hot と production の2か所も
- --> "development": "node node_modules/cross-env/src/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
- npm run dev
- Userモデル、Usersテーブルを確認
- Auth::user() を確認
- 自動生成された、/login, /register, /home を確認
- 特定ページの保護方法
- ログイン処理実装
- Auth::atempt(['email' => 'input', 'password' => 'input') が trueなら ログイン成功
7-5 ユニットテスト
7-6 今後の学習
- 読後の学習指針