我想将参数传递给控制器中的构造函数。有可能吗?
我正在尝试在构造函数中传递接口定义。
或者可以在DI中绑定或设置构造函数吗?
下面是我的代码。
<?php
use Phalcon\Repositories\IUsersRepository;
class UsersController extends ControllerBase
{
private $users;
public function __construct(IUsersRepository $usersRepository)
{
$this->users = $usersRepository;
}
?>
答案 0 :(得分:1)
我已在service.php中使用以下代码修复了
$di->set('usersRepository', array(
'className' => 'Phalcon\Repositories\UsersRepository'
));
$di->set('UsersController', array(
'className' => 'UsersController',
'arguments' => array(
array('type' => 'service', 'name' => 'usersRepository')
)
));
答案 1 :(得分:0)
是的,你可以......看看......
http://docs.phalconphp.com/en/latest/reference/di.html#instantiating-classes-via-the-service-container
如果您想使用dispatch Service
$di->set('IndexController', function() {
$component = new Component();
$component->private_method();
return $component;
}, true);
我想知道你需要这种方法!