在我的public/index.php
我定义了包含路径:
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
'/var/www/php_include/zend/1.11.7/library',
'/var/www/php_include/application',
get_include_path(),
)));
在我的IndexController中,我想用
引用我的表单new Form_Login();
但我收到错误:
致命错误:第31行的/var/www/php_include/application/controllers/LoginController.php中找不到“LoginForm”类
表单位于application/forms/Login.php
:
class Form_Login extends Zend_Form
{
public function init()
{
使用get_include_path()
之前 new LoginForm()
:
的/ var / WWW / php_include /应用/../库:/var/www/php_include/zend/1.11.7/lib郭宝宏:/无功/网络/ php_include /应用:/无功/网络/ php_include /应用/形式::/ v AR /网络/ php_include:在/ usr /共享/梨/ PEAR
任何人都知道如何使这个工作?
答案 0 :(得分:2)
自动加载器不会找到我的狮身人面像。只需将您的forms/
路径添加到包含路径即可。
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
'/var/www/php_include/zend/1.11.7/library',
'/var/www/php_include/application',
'/var/www/php_include/application/forms',
get_include_path(),
)));
现在将您的文件重命名为LoginForm.php
,将您的班级名称重命名为LoginForm
然后使用
new LoginForm();
这与我的项目完全相同,只是我的forms-dir放在视图中,includepath用application.ini设置
<强>更新强>
这是我的Bootstrap类的一部分:
function _initAutoloader() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
return $autoloader;
}
答案 1 :(得分:1)
你的班级应该被召唤
自动加载器可以找到Form_LoginForm
。
但您应将其更改为Form_Login
和forms/Login.php
答案 2 :(得分:0)
尝试
new Default_Form_LoginForm();