1
我剛在Symfony2中實現了我的第一個服務。Symfony2獲得服務或獲得集裝箱服務
我注意到,控制器方法中,i是否調用服務所以
$this->container->get('main.service');
左右
$this->get('main.service');
沒有差別。
我同樣得到服務。
差異在哪裏?
我剛在Symfony2中實現了我的第一個服務。Symfony2獲得服務或獲得集裝箱服務
我注意到,控制器方法中,i是否調用服務所以
$this->container->get('main.service');
左右
$this->get('main.service');
沒有差別。
我同樣得到服務。
差異在哪裏?
如果您擴展Symfony提供的Base Controller,則沒有區別。
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class YourController extends Controller
如果你把在Symfony\Bundle\FrameworkBundle\Controller\Controller執行情況的深入瞭解,您可能會注意到它提供了一個get()
幫助其做同樣的電話,你做的第一件事(獲得通過容器爲您服務)。
這樣,那麼,
有沒有差別$this->get('something')
只是sencapsulates到$this->container->get('something')
通話。
這裏的get()
方法你調用的實現做$this->get('main.service');
/**
* Gets a service by id.
*
* @param string $id The service id
*
* @return object The service
*/
public function get($id)
{
return $this->container->get($id);
}
時