컨트롤러 내부에서 컨트롤러를 호출 할 때 왜 다음과 같은 오류가 발생합니까?컨트롤러 내 컨트롤러 호출
# Acme/DemoBundle/Service/Object.php
class Object extends Controller
{
public function method()
{
$em = $this->getDoctrine()->getEntityManager(); // the problem
// ...
}
}
내가 전화를 $this
를 사용하는 경우 서비스, 교리, 또는 :
class DemoController extends Controller
{
public function indexAction()
{
$object = new \Acme\DemoBundle\Service\Object();
$object->method();
}
// ...
}
클래스는이 같은 것입니다 : 컨트롤러에서
Fatal error: Call to a member function get() on a non-object in /home/web/project/symfony2/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php on line 149
나는 Controller
를 확장하는 클래스라고 컨트롤러 내에서와 같은 다른 오류가 발생했습니다. 그렇지 않으면 작동합니다.
예를 들어이 클래스에서 doctrine을 어떻게 사용할 수 있습니까?
감사합니다. 그것은 작동합니다. 이 방법이 있습니까? 특히 수업 시간에 문제를 푸는 것. 왜냐하면, 많은 장소에서 (서비스로서) 클래스를 사용할 것이고 그것은 반복 일 것입니다. – seferov
업데이트 된 답변보기 – prehfeldt
당신은 위대합니다. 왜 그것이 나쁜 생각인지 아주 빨리 알려주실 수 있습니까? – seferov