我在Symfony应用程序中从控制器加载服务类时遇到问题。
该服务位于ReadathonBundle\Payments\Ipn
:
namespace ReadathonBundle\Payments;
class Ipn
{
private $testVariable;
/**
* Ipn constructor.
* @param $testVariable
*/
public function __construct($testVariable)
{
$this->testVariable = $testVariable;
}
}
我已在services.yml中添加了配置设置:
parameters:
app.ipn.testVariable: test-value
services:
app.form.registration:
class: ReadathonBundle\Form\UserType
tags:
- { name: form.type, alias: app_user_registration }
app.ipn:
class: ReadathonBundle\Payments\Ipn
arguments: ['%app.ipn.testVariable%']
我正在尝试使用以下代码段在我的控制器中调用该服务:
class PayPalIPNController extends Controller
{
/**
* PayPal IPN
*
*/
public function listenerAction(Request $request)
{
$ipn = $this->get('app.ipn');
var_dump($ipn->testVariable);
}
这会导致500错误,并显示以下消息:
尝试加载课程" Ipn"从命名空间 " ReadathonBundle \付款&#34 ;.你忘记了"使用"声明 另一个命名空间?
我觉得我错过了一些简单的东西,但不能完全指责它。
问题出在哪里?
答案 0 :(得分:0)
这个会困扰我很长一段时间。我大部分时间都在这个问题上度过了......
它没有用,因为我在服务类文件名末尾没有.php,* facepalm *。