Расширение класса Zend_Controller_Action, не найденное Zend Tool - PullRequest
2 голосов
/ 19 июля 2011

Я создал расширение класса Zend_Controller_Action и добавил несколько пользовательских методов, которые будут доступны с любого контроллера и т. Д.

Все работает нормально, пока я не использую Zend Tool для создания нового Action, поскольку на этот раз инструмент Zend не обнаружит мой расширенный класс.

Сообщение об ошибке:

Неустранимая ошибка: класс "CMS_Zend_Controller_Action" не найден в ....

Это класс, который расширяет Zend_Controller_Action, и класс, расширенный другими контроллерами, такими как indexController.

Как сделать класс доступным для обнаружения. Нужно ли включать каждую папку, как мои классы? Зенд делает это? Я так не думаю. Как это сделать?

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

Я думаю, что вы пытаетесь здесь не то, о чем говорит Zend_Tool.

Насколько я понимаю ваш вопрос и настройку, вы создали класс в своей библиотеке. Конечно, вы можете расширить Zend_Controller_Action множеством ваших собственных классов в вашей собственной библиотеке / библиотеках (я тоже так делаю). Добавление действия в такой класс может быть необычным, но проблема для Zend_Tool по одной конкретной причине.

Zend_Tool Я полагаю, что речь идет только о хорошо известных структурах, таких как /application, и о том, что внутри /modules. Если вы создадите класс контроллера, Zend_Tool сделает за вас некоторую работу, например, добавит необходимую структуру папок в вашу папку /application или /modules. То же самое с методом действия, который требует просмотра файлов. Наличие класса Controller в вашей библиотеке не требует (не должно) всего этого и, следовательно, не встроено в Zend_Tool. Я думаю, что любой класс, который вы создаете в своей библиотеке, не поддерживается в Zend_Tool.

0 голосов
/ 19 июля 2011

Simple.:-p Если он может найти ваши основные контроллеры, то вам просто нужно указать путь к вашим расширенным контроллерам.

http://php.net/manual/en/function.set-include-path.php

set_include_path(path_to_your_extended_classes) в вашем файле index.php, он же маршруты.

...