15

Laravel 5 の使用方法を学んでいますが、コントローラーが "controller" フォルダーではなく "app" フォルダーのルートに作成されるという問題に遭遇しました。10回再インストールしてチェックしたので、なぜこれが起こっているのかわかりません。

私はWindows 8.1でgitbashを使用しています..

だから私は行きます

john@John ~/desktop/code/my-first-app
$ php artisan make:controller PagesController

そして、私は得る

コントローラーが正常に作成されました

のルートに作成されているだけappで、Controllers フォルダーには何もありません。私は何が欠けていますか?laracastsの video の下のコメントにも、同じ問題を抱えている人がいます。

4

6 に答える 6

2

を試した後php artisan make:controller Directory\PageController、Laravel 5.1 は、アプリ ディレクトリに DirectoryPage Controller という名前のコントローラーを作成します。私にとっての解決策は、バックスラッシュを別のバックスラッシュでエスケープすることだったので、次のことがうまくいきました:

php artisan make:controller Directory\\\\PageController

Laravel で Pagecontroller を作成しましたapp/Directory。みんなと共有しようと思っただけです。

于 2015-08-21T00:27:50.333 に答える
0

コントローラーの作成にバグがあるようです。

Laravel 5 を使用して 1 分前に確認したところ、約 1 週間か 2 週間ほど前にインストールしたところ、問題なく動作していました。しかし、新しいLaravel 5をインストールすると、コントローラーはapp/フォルダーではなくフォルダーに作成されますapp/Http/Controllers

しかし、開発者がコントローラを格納する場所を変更した可能性もあります (Laravel 5 はまだ開発中です)。

現時点では誰もそれを知りませんが、この問題に関する Laracast の議論を見ることもできます。

また、このコマンドにパスを手動で追加できないのも奇妙です。

Laravel 4 では、次のことができます。

php artisan controller:make --path="app/Controllers" PagesController

ただし、Laravel5 ではcontroller:make、Laravel 4 と比較してオプションが少なくなります。

Options:
 --plain               Generate an empty controller class.
 --help (-h)           Display this help message.
 --quiet (-q)          Do not output any message.
 --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 --version (-V)        Display this application version.
 --ansi                Force ANSI output.
 --no-ansi             Disable ANSI output.
 --no-interaction (-n) Do not ask any interactive question.
 --env                 The environment the command should run under.

そのため、Laravel 4 でできるように、ここにカスタム パスを配置したり、いくつかのメソッドを生成したりできません。

編集

最新の Laravel 5 コミットで正常に動作しているようです。したがって、新しい Laravel 5 プロジェクトを作成するか、次を実行する必要があります。

composer update

プロジェクトを更新します。

ただし、次のようなエラーが発生する可能性があります。

{"error":{"type":"Symfony\Component\Debug\Exception\FatalErrorException","message":"Class 'Illuminate\Routing\FilterServiceProvider' not found","file":

これらのエラーを削除するには:

ファイルapp/Providers/FilterServiceProvider.php変更中

use Illuminate\Routing\FilterServiceProvider as ServiceProvider;

の中へ:

use Illuminate\Foundation\Support\Providers\FilterServiceProvider as ServiceProvider;

および in file in fileapp/Providers/RouteServiceProvider.php変更

use Illuminate\Routing\RouteServiceProvider as ServiceProvider;

の中へ:

use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
于 2014-09-30T11:59:41.507 に答える