LoginSignup
1
1

More than 3 years have passed since last update.

Laravel 5.7のscaffoldでハマった

Posted at

PHPの学習中にちょっとハマってしまったのでメモ。

環境

Laravel 5.7.28
PHP 7.1.3

背景

Laravelでscaffoldを使いたい場合、 Laralib/L5scaffold を使うらしい。
そして、Laravel 5.5以降では以下のように修正しないとうまく動かないらしい。
LaravelのScaffoldのインストール問題

とここまではよくある記事ですが、私の環境では
php artisanの実行結果はうまく表示されるものの、
php artisan make:scaffold ...(省略)を実行するとエラーになってしまった。

解決法

vendor/laralib/l5scaffold/src/Makes/MakeController.php
// よく書いてある修正方法
use DetectsApplicationNamespace, MakerTrait;

// 名前空間を絶対指定にしたら動いた
use \Illuminate\Console\DetectsApplicationNamespace, MakerTrait;

エラー内容

Symfony\Component\Debug\Exception\FatalErrorException  : Trait 'Laralib\L5scaffold\Makes\DetectsApplicationNamespace​' not found

useで指定している名前空間が相対指定になっているので、該当ファイルのnamespaceと連結されて意図しないパスになってました。
(よく読めばすぐわかる話でした...)

その他

でもそれ以前に、Laralib/L5scaffoldを追加した後のphp artisanの実行結果が、

make:scaffold        Create a scaffold with bootstrap 3

むむ、 bootstrap 3 なのね。古い。
GitHub見ても全然更新されてない...。
Railsみたいに標準でサポートされないのかな。

結論としては、もっと新しい教材で学習すべきでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1