我希望 Zend 在为 Web 应用程序加载一组默认表单之前尝试加载自定义表单/视图,以让客户为其应用程序创建自定义表单。
您如何配置自动加载器以在默认 zend 类之前加载不同的路径?
我希望 Zend 在为 Web 应用程序加载一组默认表单之前尝试加载自定义表单/视图,以让客户为其应用程序创建自定义表单。
您如何配置自动加载器以在默认 zend 类之前加载不同的路径?
就像在另一个问题中一样,您需要使用工厂类。此类将在预定义的目录中检查新表单或默认表单的存在。
您需要做的就是:
// $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');