PHP класс в качестве аргумента

Можно ли сделать это?

class Foo
{
public function __construct($bar)
{
$barish = new $bar();
$barish->woo();
}
}

class Bar
{
function woo()
{
echo "wooooo";
die();
}
}

// Here the magic should happen
$foo = new Foo(Bar);

Я жду wooooo но я получаю «Использование неопределенной постоянной бара».

1

Решение

Вам не хватает '':

class Foo
{
public function __construct($bar)
{
$barish = new $bar();
$barish->woo();
}
}

class Bar
{
function woo()
{
echo "wooooo";
die();
}
}

// Here the magic should happen
$foo = new Foo('Bar');
2

Другие решения

Других решений пока нет …