Jul 17, 2018
0
Level 2
call_user_func from class using facade
Hi,
I've been playing with Facades and I am trying to get something to work, but I keep getting an error I dont understand. Perhaps one of you can help.
I have created a class Menu
<?php
namespace my\package;
class Menu {
public function make($name, $callback)
{
call_user_func($callback, $name);
}
public function add($title)
{
return 'test';
}
}
And I created a Facade
<?php
namespace my\package\Facades;
use Illuminate\Support\Facades\Facade;
class Menu extends Facade
{
protected static function getFacadeAccessor()
{
return 'menu';
}
}
And created a ServiceProvider
<?php
namespace my\package;
use my\package\Facades\Menu;
use Illuminate\Support\ServiceProvider;
class MyPackageServiceProvider extends ServiceProvider
{
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->bind('menu', 'my\package\Menu');
Menu::make('Test', function($menu){
$menu->add('Test');
});
}
}
I keep getting "Call to a member function add() on string" What am I doing wrong?
Please or to participate in this conversation.