开发者

Zend Framework Form not found

In my public/index.php I define the include path:

开发者_开发百科// 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(),
)));

In my IndexController I want to reference to my Form with

new Form_Login();

But there I receive the error:

Fatal error: Class 'LoginForm' not found in /var/www/php_include/application/controllers/LoginController.php on line 31

Form is under application/forms/Login.php:

class Form_Login extends Zend_Form
{
    public function init()
    {

get_include_path() before using new LoginForm() throws:

/var/www/php_include/application/../library:/var/www/php_include/zend/1.11.7/lib‌​rary:/var/www/php_include/application:/var/www/php_include/application/forms:.:/v‌​ar/www/php_include:/usr/share/pear/PEAR

Anyone knows how to get this working?


The autoloader won't find it me sphinx. Just add your forms/ path to your include path.

// 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(),
)));

Now rename your file to LoginForm.php and your class-name to LoginForm

Then use

new LoginForm(); 

This is the exact same way I have done it with my projects, except my forms-dir is placed in views and the includepath is set with application.ini

Update

This is part of my Bootstrap class:

function _initAutoloader() {
    $autoloader = Zend_Loader_Autoloader::getInstance();
    $autoloader->setFallbackAutoloader(true);
    return $autoloader;
}


your class should be called Form_LoginForm to be found by the autoloader.

But you should change it to Form_Login and forms/Login.php


try

new Default_Form_LoginForm();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜