我在加载课程时遇到问题。有人建议使用Autoloader,但我不认为这在我的情况下是必要的,因为我需要的类与需要它的类在同一个Bundle中。反正我还不完全了解自动加载器。
所以我有一个班级
<?php
namespace Nick\AlertBundle\Service;
class ApiService
{
public function AddFlightsAction($alert){
parseResponseData();
}
public function parseResponseData()
{
var_dump("Test");
}
}
所以它是一个基本的类,没什么特别的(我删除了很多函数来减少代码)。这是我需要使用的课程。
现在,我有一个倾听者。
<?php
namespace Nick\AlertBundle\EventListener;
use Doctrine\ORM\Event\LifecycleEventArgs;
use Nick\AlertBundle\Entity\AvailabilityAlert;
use Nick\AlertBundle\Service\ApiService;
class AvailabilityAlertListener
{
public function postPersist(LifecycleEventArgs $args)
{
$entity = $args->getEntity();
if ($entity instanceof AvailabilityAlert) {
$uapi = new ApiService();
$uapi->AddFlightsAction($entity);
}
}
}
如果我删除addFlightsAction中的内容并改为执行var_dump,则可行。如果我保持它是如何(addFlightsAction调用另一个函数与var_dump)然后我得到错误
尝试从命名空间调用函数parseResponseData Nick \ AlertBundle \ Service(500内部服务器错误)
为什么会这样?
答案 0 :(得分:1)
我认为这不是装货问题。
更改
public function AddFlightsAction($alert){
parseResponseData();
}
要
public function AddFlightsAction($alert){
$this->parseResponseData();
}