FYI, I just upgraded to 1.9.5 and the problem continues. Keep in mind,
despite the exception/error, the form still constructs and renders as
CP_Form_Login just fine.



 Zend_Exception: File "CP/Form/Login.php" does not exist or class
"CP_Form_Login" was not found in the file in
/home/ajbrown/Projects/CitationPoint2/library/Zend/Loader.php on line
88

#       Time    Memory  Function        Location
1       0.0003  112872  {main}( )       ../index.php:0
2       0.0472  4886480 Zend_Application->run( )        ../index.php:34
3       0.0472  4886480 Zend_Application_Bootstrap_Bootstrap->run(
)       ../Application.php:358
4       0.0473  4886480 Zend_Controller_Front->dispatch( ???, ??? )     
../Bootstrap.php:77
5       0.0643  6773728 Zend_Controller_Dispatcher_Standard->dispatch(
object(Zend_Controller_Request_Http)[19],
object(Zend_Controller_Response_Http)[20] )     ../Front.php:946
6       0.0777  7803104 Zend_Controller_Action->dispatch( string(11)
)       ../Standard.php:289
7       0.0778  7810384 AccountController->loginAction( )       
../Action.php:513
8       0.0870  8940840 CP_Form::factory( string(5) )   
../AccountController.php:22
9       0.0870  8940968 CP_Form::_declareFormClass( string(5) ) ../Form.php:44
10      0.0871  8942096 Zend_Loader_Autoloader::autoload( string(13) )  
../Form.php:74
11      0.0872  8944096 call_user_func ( array(2), string(13) ) 
../Autoloader.php:130
12      0.0872  8944336 Zend_Loader_Autoloader->_autoload( string(13)
)       ../Autoloader.php:0
13      0.0872  8944920 call_user_func ( array(2), string(13) ) 
../Autoloader.php:472
14      0.0873  8945288 Zend_Loader::loadClass( string(13), ??? )       
../Autoloader.php:0


On Wed, Nov 4, 2009 at 11:31 AM, A.J. Brown <fynw...@gmail.com> wrote:
> Just incase it's useful somehow, here's the full config:
>
> http://www.pastie.org/683340
>
> By the way, I'm aware that I shouldn't be registering Doctrine's
> namespace and instead should push the Doctrine autoloader.  I'm just
> doing this temporarily until we begin actually leveraging doctrine.
>
> Here is the complete code of the class that's giving me trouble:
>
> http://www.pastie.org/683348
>
> And here's the complete source of the controller where that code is being run:
>
> http://www.pastie.org/683344
>
> On Wed, Nov 4, 2009 at 11:22 AM, A.J. Brown <fynw...@gmail.com> wrote:
>> Hey Matthew,
>>
>> Thanks for the explanation.  I assumed since the error had
>> "Zend_Exception" in it, that it was actually an exception being
>> thrown.
>>
>> Zend_Version::VERSION == '1.9.3'
>>
>> The code in the pastie is literally the only code that ever does
>> anything with the autoloader.  This is a new project, and other than
>> some boilerplate controller code, this is the first few lines of code
>> that have been typed.  The only other modifications are adding the
>> namespaces to the autoloader, using the built-in method through the
>> application configuration:
>>
>>
>> autoloaderNamespaces.cp            = "CP_"
>> autoloaderNamespaces.doctrine = "Doctrine_"
>>
>>
>> It's also strange that the error is not being suppressed by the @ symbol.
>>
>>
>> On Wed, Nov 4, 2009 at 8:57 AM, Matthew Weier O'Phinney
>> <matt...@zend.com> wrote:
>>> -- A.J. Brown <a...@ajbrown.org> wrote
>>> (on Tuesday, 03 November 2009, 07:59 PM -0500):
>>>> I'm trying to supress errors with the Zend Autoloader, but it's still
>>>> throwing them.  In this specific case, I'm dynamically ceating a class
>>>> if it doesn't already exist.  I'm calling suppressNotFoundWarnings(
>>>> true ).
>>>>
>>>> Here's my code:
>>>>
>>>> http://www.pastie.org/682603
>>>>
>>>> On line 13, I'm getting a Zend_Exception saying that CP/Form/Login.php
>>>> not found and CP_Form_Login does not exist.  Here's that line:
>>>>
>>>> if( @$autoloader->autoload( $class ) ) {
>>>>
>>>> even wrapping it in a Try/Catch doesn't catch the exception.  The best
>>>> part is that further down in the code, the class is still declared,
>>>> and the code continues to run.
>>>>
>>>> the CP_ namespace is registered to the autoloader at bootstrap.  (I
>>>> confirmed this through debugging).
>>>
>>> You're confusing exceptions with errors. Zend_Loader_Autoloader does not
>>> throw exceptions within its autoload() method (it's considered a bad
>>> practice, and PHP itself behaves badly when it happens); this is why the
>>> try/catch does not work. What's actually happening is that PHP's
>>> include() function is raising a PHP warning when it can't find the
>>> related file in question.
>>>
>>> What *is* odd to me is that the autoloader is not suppressing the errors
>>> when you've specifically requested it do so. I've just tried this
>>> locally with the following:
>>>
>>>
>>>    $autoloader->suppressNotFoundWarnings(true);
>>>    if (!$autoloader->autoload('Zend_Foo_Bar')) {
>>>        echo 'Not found';
>>>        exit;
>>>    }
>>>    echo 'Found';
>>>
>>> With the warnings suppressed, it works as expected; without, I get
>>> the PHP warning, again, as expected.
>>>
>>> So, a few questions:
>>>
>>>  * What version of ZF are you using?
>>>  * Can you provide *all* code indicating how you've configured the
>>>   autoloader?
>>>  * Is the "CP_" namespace registered with the autoloader? If not, do you
>>>   have another autoloader registered that would be handling it?
>>>
>>> Based on what you've presented, I have to assume that there's some other
>>> configuration issue that's leading to the error.
>>>
>>> --
>>> Matthew Weier O'Phinney
>>> Project Lead            | matt...@zend.com
>>> Zend Framework          | http://framework.zend.com/
>>>
>>
>>
>>
>> --
>> A.J. Brown
>> web | http://ajbrown.org
>> phone | (937) 660-3969
>>
>
>
>
> --
> A.J. Brown
> web | http://ajbrown.org
> phone | (937) 660-3969
>



-- 
A.J. Brown
web | http://ajbrown.org
phone | (937) 660-3969

Reply via email to