2014-12-07 3 views
1

컨트롤러의 생성자에 매개 변수를 전달하고 싶습니다. 할 수 있습니까?Phalcon php 생성자의 매개 변수를 전달하십시오.

생성자에서 인터페이스 defination을 전달하려고합니다.

또는 DI에 생성자를 바인딩하거나 설정할 수 있습니까?

아래 코드는 제 코드입니다.

<?php 

use Phalcon\Repositories\IUsersRepository; 

class UsersController extends ControllerBase 
{ 
    private $users; 

    public function __construct(IUsersRepository $usersRepository) 
    { 
     $this->users = $usersRepository; 
    } 
?> 

답변

1

가 나는 service.php

내가 phalcon에서 저장소 패턴을 사용하고자하는
$di->set('usersRepository', array(
    'className' => 'Phalcon\Repositories\UsersRepository' 
)); 

$di->set('UsersController', array(
    'className' => 'UsersController', 
    'arguments' => array(
     array('type' => 'service', 'name' => 'usersRepository') 
    ) 
)); 
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); 

에 데이터를 보내려면 내가 u는이 방법을 필요로 Y 궁금해!

+0

코드 아래 사용하여 해결했습니다. 그래서 생성자에서 저장소 정의를 전달하려고합니다. –

관련 문제