PHPフレームワーク Laravel入門 本書通りに進めるとエラーになる
最終更新日:2019/08/30

下記項目を本書通りに進めていると、こんなエラーが発生するので対処法をまとめておきます。
正誤表ダウンロード
参考書を疑うのも大事ですね。結構ミスが多いみたいです・・
正誤表を印刷して本に挟んでおくことをおススメします。
153ページのバリデート
Call to undefined method Illuminate\Validation\Validator::extend()
extend()が未定義だと。
そんなわけないと思いながらも、名前空間を疑っていたら当たりました。
公式の正誤表を確認したらバッチリ載っていました。
1 2 3 | use Illuminate\Validation\Validator; ↓ 下記に修正 use Validator; |
149ページのHelloValidatorの処理も微妙。
オリジナルのバリデータを作成する項目ですが、年齢を偶数の時のみ許容という処理がありますが、
ここで文字列を渡したときに普通にエラーになる。。
A non-numeric value encountered
数値以外が渡されると計算ができず処理が止まるので、下記のように修正しました。
1 2 3 4 5 6 7 | public function validateHello( $attribute, $value, $parameters ){ if( is_int($value) ){ return $value % 2 == 0; } else { return true; } } |
これで数値ではない時の判定も可能になりました。
219ページ、327ページのファイル生成『touch』コマンド
windowsでtouchコマンドなど無いので代わりにtouch
⇒ type nul >
に書き換えてファイルを生成します。
1 | type nul > database/database.sqlite |
223ページのシーディングを実行
php artisan db:seed
を実行すると、こんなエラーが。ReflectionException : Class PeopleTableSeeder does not exist
これは正誤表にも載っていない・・
cdでlaravelappに移動後、composer dump-autoload
を実行すると正常に動きました。
注:マイグレーションの実行中に「クラスが見つかりません」というエラーを受け取った場合は、コマンドを実行してみてください。
https://laravel.com/docs/5.0/migrations#running-migrationscomposer dump-autoload
(google翻訳)