Класс не найден в сценарии оболочки CakePHP
Я пытаюсь включить некоторые классы в свой сценарий оболочки в CakePHP, но они не загружаются.
Например, у меня есть класс, расположенный в
/app/Lib/php-ews/EWSType/FindItemType.php
Мой сценарий выглядит так:
App::uses('FindItemType', 'Lib/php-ews/EWSType');
class TestShell extends AppShell {
public function main() {
$this->out($this->readbox());
}
public function readbox() {
$request = new EWSType_FindItemType();
}
}
Это дает ошибку:
"PHP Fatal error: Class 'EWSType_FindItemType' not found in "
Не уверен, что я здесь делаю не так.
1 ответ
Решение
Веб-службы PHP Exchange должны быть установлены в Vendor
папка и загружается через App::import()
,
Из документов CakePHP 2.x:
Файлы вашего поставщика могут не соответствовать соглашениям, иметь класс, который отличается от имени файла или не содержит классов. Вы можете загрузить эти файлы, используя
App::import()
,
В твоем случае:
App::import('Vendor', 'FindItemType', array('file' => 'php-ews/EWSType/FindItemType.php'));