0
呼叫服務我有2個控制器,使用一個相同的服務:Symfony2的「致命錯誤:調用一個成員函數的get()在非對象上。」當控制器
控制器1
namespace MO\FrontendBundle\Controller;
use MO\FrontendBundle\Controller\SuperClass\MOSearchController;
use Symfony\Component\HttpFoundation\JsonResponse;
class ResultsController extends MOSearchController {
public function detailAction() {
$vm = $this->get("vehicles_manager"); // SERVICE IN QUESTION
$result = $vm->getVehicleDetail($idVehicle);
}
}
控制器2
namespace MO\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class MetatagsController extends Controller {
public function metatagsController() {
$vm = $this->get("vehicles_manager"); // SERVICE IN QUESTION
$result = $vm->getVehicleDetail($idVehicle);
}
}
該服務定期services.yml文件中聲明:
services:
vehicles_manager:
class: MO\FrontendBundle\Service\VehiclesManager
arguments: [@logger, %vehicles_manager.endpoint%, %vehicles_manager.scope%, %vehicles_manager.consumer%, %form_values.manual_gear_code%]
tags:
- { name: monolog.logger, channel: solrws }
vehicles_memory:
class: MO\FrontendBundle\Service\VehiclesMemory
arguments: [@request_stack]
的問題是,雖然在第一控制器沒有錯誤,在第二i得到錯誤:
致命錯誤:調用一個成員函數的get()在C語言的非對象: \ Users \ d.test \ workspace \ test \ vendor \ symfony \ symfony \ src \ Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller.php on line 274
任何想法?
也許這可能是有用的:http://stackoverflow.com/questions/12905191/call-to-a-member-function-get-on-a-非對象 – nowiko 2014-09-29 14:39:19
你可以發佈你的路線?它幾乎看起來像你試圖將你的第二個控制器定義爲服務,但忘記注入容器?框架控制器中第274行的代碼是什麼? – Cerad 2014-09-29 14:51:15