У меня проблемы с загрузкой класса обслуживания из моего контроллера в моем приложении 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 \ Платежи». Вы забыли выражение «использовать» для
другое пространство имен?
Я чувствую, что где-то упустил что-то простое, но не могу понять, что именно.
В чем проблема?
Этот будет преследовать меня очень долго. Я провел большую часть дня по этому вопросу …
Это не работало, потому что у меня не было .php в конце имени файла класса обслуживания, * facepalm *.
Других решений пока нет …