У меня есть свой собственный класс foo
в /src/Utility/foo.php
, к которому можно получить доступ в любом скрипте Cake PHP, пока я добавляю use App\Utility\foo;
- пока это работает.
Обычно нет проблема передать конструктору PHP объект $this
экземпляра вызывающего объекта.
Чтобы получить точное имя экземпляра $this
, я получил его в конструкторе своего класса, используя get_class($this)
. Это возвращает AdminLTE\View\AdminLTEView
- Я создаю экземпляр своего пользовательского класса с помощью
$fooInstance = new foo($this);
. - Конструктор моего класса выглядит так:
public function __construct(AdminLTE\View\AdminLTEView $appThis)
Использование приведенного выше синтаксиса приводит к этой ошибке:
Аргумент 1, переданный в App \ Utility \ foo :: __ construct (), должен быть экземпляром App \ Utility \ AdminLTE \ View \ AdminLTEView, экземпляр AdminLTE \ View \ AdminLTEView с заданным
Когда я не устанавливаю в конструкторе тип $this
, я получаю следующую ошибку Cake PHP сообщение, пытающееся выполнить эту команду: $appThis->request->getAttribute('identity');
:
requestHelper не может быть найден.
Хорошо, что я неправильно понял, что мне не хватает, как правильный синтаксис, чтобы я мог использовать $this
класса вызывающего абонента в моем пользовательском классе?