Ваша проблема:
Обычно, когда переводчик нажимает «foo. php»; оператор, он открывает указанный файл, считывает все его содержимое, заменяет бит «include» кодом из другого файла и продолжает интерпретацию ...
reference
Это означает, что включенный файл анализируется PHP перед тем, как он будет "импортирован", и поскольку он не находится в контексте class , пока не будет импортирован, когда он будет прочитан, поэтому $this
неуместен.
Возможные обходные пути:
1) Поместите включенные детали в родительский класс (копировать / вставить)
2) Поставить включенные детали в их предполагаемый метод класса и использовать PHP Расширение класса для использования класса Расширения.
3) Извлечь информацию. включить и поместить его в свой собственный класс полностью. Поместите вызов include в родительский скрипт, а не в класс test
. Ссылка
(вероятно, есть больше идей, как обойти вашу проблему, но лучше всего подойти к мелу - one - просто скопировать и вставить код. Если код многословный, вы можете легко скрыть его с помощью любой приличной среды IDE, закрывающей этот метод, до одной строки видимого кода.)
(С точки зрения компилятора PHP вы не сохраняете что-нибудь с include
с.)