Класс не найден в сценарии оболочки 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'));
Другие вопросы по тегам