Tôi đã tạo thư mục thư viện trong thư mục ứng dụng để thêm thư viện ứng dụng của mình. Tôi đã cập nhật tập tin cấu hình ứng dụng và composer.json để autoload rằng thư mục, nhưng khi tôi chạy lệnh composer dump-autoload
tôi nhận được lỗi sau:Làm thế nào để tự động tải 'thư viện' trong laravel 4?
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'App\\Libraries\\Search\\SearchServiceProvider' not found","file":"D:\\Users\\Miguel Borges\\Documents\\Trabalhos\\Tese\\portal\\bootstrap\\compiled.php","line":4130}}PHP Fatal error: Class 'App\Libraries\Search\SearchServiceProvider' not found in D:\Users\Miguel Borges\Documents\Trabalhos\Tese\portal\bootstrap\compiled.php on line 4130 [Finished in 1.1s with exit code 255]
My thư mục ứng dụng cây:
app
| ...
+ libraries
| + search
| | - Search.php
| | - SearchFacade.php
| | - SearchServiceProvider.php
| + lib2
| | - ...
| + lib3
| | - ...
| | - Theme.php
| - ...
- filters.php
- routes.php
SearchServiceProvider.php
namespace App\Libraries\Search;
use Illuminate\Support\ServiceProvider;
class SearchServiceProvider extends ServiceProvider {
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->app['search'] = $this->app->share(function($app)
{
return new Search;
});
}
}
composer.js trên
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/libraries",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
// ,
// "psr-0": {
// "app": "app/libraries"
// }
},
Về cơ bản, tôi cần phải tự động tải tất cả thư viện trong thư mục 'thư viện'.
Bạn chỉ có thể thêm một dòng: '" app/libraries "' vào phần classmap? –
không, các thư mục trong sơ đồ lớp, chỉ tải các tệp trong thư mục gốc, không phải trong các thư mục con. –