В Laravel 5 я пытаюсь добавить MyClass в контейнер IoC.
Итак, я добавляю следующую структуру:
app / Libs / MyClass.php
<?php namespace App\Libs;
use App\Interfaces\MyClassInterface;
class MyClass implements MyClassInterface {
public function list($itemId)
{
// do any things
}
}
приложение / Фасады / MyClassFacade.php
<?php namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class MyClassFacade extends Facade {
protected static function getFacadeAccessor()
{
return 'myclass';
}
}
app / Providers / MyClassServiceProvider.php
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Libs\MyClass;
class MyClassServiceProvider extends ServiceProvider {
public function boot()
{
//
}
public function register()
{
$this->app->bind('myclass', function () {
return new MyClass();
});
}
}
app / config / app.php (у провайдеров)
'App\Providers\MyClassServiceProvider',
app / config / app.php (в псевдонимах)
'MyClass' => 'App\Facades\MyClassFacade',
приложение / Http / Controllers / MyClassController.php
<?php namespace App\Http\Controllers;
class MyClassController {
public function index($itemId = null)
{
$itemList = MyClass::list($itemId); // this is line error
return view('item.list')->with($itemList);
}
приложение / HTTP / routes.php
Route::pattern('numeric', '[0-9]+');
Route::get('item/{numeric?}', array('as' => 'item_list', 'uses' => 'MyClassController@index'));
Затем я выполнил команду
composer update
и
composer dump-autoload
Но всегда я получаю эту ошибку:
Class 'App\Http\Controllers\MyClass' not found
Где я ошибаюсь?