Использование ReflectionClass в Cake PHP 4.0.4 - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь интегрировать Playfab PHP SDK в Cake PHP 4.0.4,

, но Cake не нравится следующая строка (включенная в пример SDK):

$apiReflection = new ReflectionClass("PlayFab" . $PlayFabApi . "Api");

выводит следующую ошибку:

Класс 'App \ Controller \ ReflectionClass' не найден

Насколько я знаю, ReflectionClass является нативным классом в PHP, поэтому я понимаю, что Cake PHP использует какое-то подмножество PHP, которое не допускает ReflectionClass, возможно потому, что этот класс допускает обратный инжиниринг и т. Д.

Есть ли что-нибудь еще, что я отсутствует? и самое главное, как я могу заставить new ReflectionClass() конструктор работать без ущерба для безопасности всего проекта?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

После еще одного исследования я обнаружил, что решение было так же просто, как включить:

use ReflectionClass;
use ReflectionException;
use ReflectionMethod;
2 голосов
/ 25 февраля 2020

Как обычно: если вы хотите создать экземпляр класса из пространства имен global , в то время как ваш текущий код находится в другом пространстве имен, вы должны добавить префикс имени класса, используя обратную косую черту sh. Попробуйте использовать:

$apiReflection = new \ReflectionClass
...