Как настроить автозагрузчик Zend для загрузки пользовательского пути к ресурсам до пути по умолчанию - PullRequest
0 голосов
/ 30 июля 2010

Отдельно, но связано с Как динамически переопределить формы и / или представления с помощью Zend? .

Я хочу, чтобы Zend попытался загрузить пользовательские формы / представления перед загрузкой набора форм по умолчаниюдля веб-приложения, позволяющего клиентам создавать собственные формы для своего приложения.

Как настроить автозагрузчик для загрузки другого пути перед классами Zend по умолчанию?

1 Ответ

0 голосов
/ 02 августа 2010

Как и в другом вопросе, вам нужно использовать фабричный класс.Этот класс проверит в предопределенном каталоге на наличие новой формы или другой формы по умолчанию.

Все, что вам нужно сделать, это что-то вроде:

// $formname is the parameter passed to the factory class
$defaultclassname = "Default_Form_{$formname}";
$classname = "New_Form_{$formname}";
if(file_exists("/path/to/directory/of/new/{$formname}.php"))
    return new $classname();
else
    return new $defaultclassname();

Это будет сделано вкласс вашей фабрики, что-то вроде /MyLib/Form/Form_Factory.php

А затем в вашем контроллере:

$form = MyLib_Form_Factory::createForm('user');
...