-- Bart McLeod <[email protected]> wrote
(on Monday, 27 April 2009, 06:11 PM +0200):
> For all of you who are also wondering what is needed to replace the good old
>
> require_once 'Zend/Loader.php';
> Zend_Loader::registerAutoLoad();
>
> This is what is needed in it's most basic form:
>
> require_once 'Zend/Loader/Autoloader.php';
> $loader = Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
In most cases, you won't even need to call setFallbackAutoloader(), btw.
> holografix . schreef:
>
> The form class in APPLICATION_PATH\forms\Login.php
>
> class Form_Login extends Zend_Form
> {
> public function init() {
> $this->setAction('/login')
> ->setMethod('post')
> ->setName('formlogin')
> ->setAttrib('id', 'formlogin');
>
> // Create and configure username element
> $username = $this->createElement('text', 'username');
> $username->setLabel('User')
> ->addValidator('alnum')
> ->addValidator('stringLength', false, array(3, 15))
> ->setRequired(true)
> ->setAttrib("size", 20)
> ->setAttrib('maxLength', 20);
>
> // Create and configure password element
> $password = $this->createElement('password', 'password');
> $password->setLabel('Password')
> ->addValidator('StringLength', false, array(3, 15))
> ->setAttrib("size", 20)
> ->setAttrib('maxLength', 20)
> ->setRequired(true);
>
> // Create and configure submit button element
> $submit = $this->createElement('submit', 'submit');
> $submit->setRequired(false)
> ->setIgnore(true)
> ->setLabel('Login');
>
> // Add elements to form
> $this->addElement($username)
> ->addElement($password)
> ->addElement($submit);
>
> return $this;
> }
> }
>
> Thanks for the support
> holo
>
>
> 2009/4/27 Matthew Weier O'Phinney <[email protected]>
>
> -- holografix . <[email protected]> wrote
> (on Monday, 27 April 2009, 04:18 PM +0100):
> > problem
> > I forgot to tell that this dev box is Win Vista 32
> >
> > In bootstrap.php:
> >
> > $module = new Zend_Application_Module_Autoloader(array(
> > 'namespace' => '',
> > 'basePath' => APPLICATION_PATH . '/forms'
> > ));
> > Warning: include(C:\wwwroot\devapp\application/forms/forms//
> Login.php) [
> > function.include]: failed to open stream: No such file or directory
> >
> > I change 'basePath' from APPLICATION_PATH . '/forms' to
> APPLICATION_PATH
> >
> > $module = new Zend_Application_Module_Autoloader(array(
> > 'namespace' => '',
> > 'basePath' => APPLICATION_PATH
> > ));
> > Renamed APPLICATION_PATH\forms\Form_Login.php to Login.php and
> removed the
> > include of this file in controller action.
>
> My bad -- I jumped the gun. Yes, basePath => APPLICATION_PATH is what
> I
> meant to write.
>
> > The file is loaded but the output is the same:
> >
> > <form action="/login"
> > method="post"
> > id="formlogin"
> > name="loginform">
> >
> > <fieldset>
> > <legend>Login</legend>
> >
> > <form id="username"></form>
> > <form id="password"></form>
> > <form id="submit"></form>
> > </fieldset>
> > </form>
>
> Can you provide the form class itself so I can take a look at it?
> Right
> now, I have no idea what's wrong, nor how it could be generated.
>
> Thanks!
>
> > Cheers
> > holo
> > 2009/4/27 Matthew Weier O'Phinney <[email protected]>
> >
> > -- holografix . <[email protected]> wrote
> > (on Monday, 27 April 2009, 02:34 PM +0100):
> > > I have an application developed with ZF 1.7 and it works fine
> up to ZF
> > 1.7.8.
> > > After update developpment box to ZF to latest trunk version,
> > > starting to get notices about Zend_Loader::registerAutoload(),
> saying
> > it's
> > > deprecated and will be removed in 2.0.0.
> > > This application follows ZF directory structure and it
> registers a front
> > > controller plugin where resources are initialized.
> > >
> > > New code in bootstrap.php:
> > >
> > > require_once 'Zend/Loader/Autoloader.php';
> > >
> > > $loader = Zend_Loader_Autoloader::getInstance()->
> setFallbackAutoloader
> > (true);
> > > $loader->registerNamespace('ZendExt_');
> > >
> > > $front = Zend_Controller_Front::getInstance();
> > > $front->registerPlugin(new ZendExt_Plugin_Initialize
> (APPLICATION_ENV));
> > >
> > > Resources are initialized but have some problems with loading
> a
> form.
> > >
> > > When opening the application, if one is not logged in, it
> redirects to
> > index/
> > > login (Form_Login.php)
> > > http://application => http://application/login
> > >
> > > Forms are in a dir called forms under application dir.
> > > In login action I have this code
> > >
> > > public function loginAction()
> > > {
> > > include APPLICATION_PATH . "/forms/Form_Login.php";
> > >
> > > $loginForm = new Form_Login();
> > >
> > > ... validation and authentication
> > > }
> > >
> > > The output is wrong
> > >
> > > <form action="/login" method="post" id="formlogin" name=
> "formlogin">
> > > <fieldset>
> > > <legend>Login</legend>
> > > <form id="username"></form>
> > > <form id="password"></form>
> > > <form id="submit"></form>
> > > </fieldset>
> > > </form>
> > >
> > >
> > > With Zend_Loader there are no problems.
> > > How can I fix the problem ?
> >
> > Use a module autoloader:
> >
> > $module = new Zend_Application_Module_Autoloader(array(
> > 'namespace' => '',
> > 'basePath' => APPLICATION_PATH . '/forms',
> > ));
> >
> > Then make sure your form is in the file:
> >
> > APPLICATION_PATH/
> > forms/
> > Login.php
> >
> > and contains the clas 'Form_Login'.
> >
> > You can do that anywhere -- your bootstrapping code is probably
> the best
> > place, however. Once you have, you will not need to do an
> > include/include_once to get your form -- just 'new
> Form_Login()'.
> >
> > --
> > Matthew Weier O'Phinney
> > Project Lead | [email protected]
> > Zend Framework | http://framework.zend.com/
> >
> >
>
> --
> Matthew Weier O'Phinney
> Project Lead | [email protected]
> Zend Framework | http://framework.zend.com/
>
>
>
--
Matthew Weier O'Phinney
Project Lead | [email protected]
Zend Framework | http://framework.zend.com/