In Laravel 5 I try to add MyClass into IoC Container.
So I add the follow structure:
app/Libs/MyClass.php
<?php namespace App\Libs;
use App\Interfaces\MyClassInterface;
class MyClass implements MyClassInterface {
public function list($itemId)
{
// do any things
}
}
app/Facades/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 (in providers)
'App\Providers\MyClassServiceProvider',
app/config/app.php (in aliases)
'MyClass' => 'App\Facades\MyClassFacade',
app/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);
}
app/Http/routes.php
Route::pattern('numeric', '[0-9]+');
Route::get('item/{numeric?}', array('as' => 'item_list', 'uses' => 'MyClassController@index'));
Then I ran the command
composer update
and
composer dump-autoload
But aways I get this Error:
Class 'App\Http\Controllers\MyClass' not found
Where am I going wrong?