あなたの状況の詳細はわかりませんし、これがこの問題を解決するための「適切な」方法であるかどうかもわかりませんが、同じ問題に遭遇したので、解決方法を共有したいと思いました.
ディレクトリ構造が次のようになるように、パッケージ コントローラを controllers サブディレクトリに配置しました。
/src
/Vendor
/Package
PackageServiceProvider.php
/config
/controllers
/lang
/migrations
/views
/tests
/public
次に、コントローラー フォルダーをパッケージの composer.json autoload クラス マップに追加しました。
{
"name": "kevin-s-perrine/my-first-packge",
"description": "",
"authors": [
{
"name": "Kevin S. Perrine",
"email": "removed@somewhere.com"
}
],
"require": {
"php": ">=5.3.0",
"illuminate/support": "4.0.x"
},
"autoload": {
"classmap": [
"src/migrations",
"src/controllers"
],
"psr-0": {
"KevinSPerrine\\MyFirstPackage": "src/"
}
},
"minimum-stability": "dev"
}
最後にcomposer dump-autoload
、パッケージのルート ディレクトリで実行し、ルート ファイルでコントローラーを名前で参照します。
Route::get('myfirstpackage', 'MyFirstPackageHomeController@getIndex');