I really can't see any slow down using the Loader from the incubator. I've
created some small benchmarking scripts which shows to me it's just as fast
(used the Zend_Loader::autoload() to benchmark).

Would this mean all the classes that are currently doing
@Zend_Loader::loadClass($classname); would change to
Zend_Loader:autoload($classname); ?
Cause I notice that only Zend_Loader:autoload(); has the error handling in
it.

--
/James

On Wed, May 7, 2008 at 9:01 PM, James Dempster <[EMAIL PROTECTED]> wrote:

> Thank you for you detailed reply.
>
> I will certainly be trying this new class and hopefully get back to you
> tomorrow.
>
> Thanks
> --
> /James
>
>
> On Wed, May 7, 2008 at 7:18 PM, Darby Felton <[EMAIL PROTECTED]> wrote:
>
>> Hi James,
>>
>> The overall problem with Zend_Loader is fairly nuanced and has different
>> ramifications for people using it in various situations. This problem is
>> definitely on our radar, and we are thinking about a reasonable solution
>> that meets the original Zend Framework goal of "extreme simplicity" while
>> enabling reasonable performance expectations.
>>
>> Basically there are two competing issues:
>>
>> 1) Zend_Loader::loadClass() and loadFile() do not check to see if a file
>> is readable before using include_once upon it. This causes a warning to be
>> issued when the file does not exist, but the extra time for checking whether
>> the file is readable is not required using this approach. This is annoying,
>> for example, to people using Zend_Loader with multiple autoloaders because
>> of the extra PHP warning noise.
>>
>> 2) Error suppression of the above (i.e., with "@") causes any resulting
>> error to be hidden. This is annoying, for example, when loading a user class
>> that contains a parse error because the error is harder to find than if the
>> error had not been suppressed.
>>
>> In the meantime, there is a modified version of Zend_Loader I made in the
>> incubator if you want to try it out. I'd be particularly interested in
>> performance benchmarks, if someone would have time to do such a thing, but I
>> haven't heard about any such results to date.
>>
>> Of course, guidance and contributions from community members like you to
>> help solve these issues are most appreciated! :)
>>
>> Best regards,
>> Darby
>>
>>
>> James Dempster wrote:
>>
>>> Hi All,
>>>
>>> I've wasted so much time creating row classes and not finding out about a
>>> parse errors all because line 119 of Zend_Db_Table_Rowset_Abstract and it's
>>> shut up operator.
>>>
>>> See http://framework.zend.com/issues/browse/ZF-2724
>>>
>>> My application would just silently die without any errors in my php.log
>>> or in the output. Very very frustrating.
>>>
>>> Can some one explain to me why they are there, why there is such a
>>> reliance on Zend_Loader. Why can't it just try to create the object and have
>>> any class auto loads deal with it, including user auto loads. Using
>>> Zend_Loader in this way put a reliance on Zend_Loader and with the @ sign
>>> break my app without me knowing where the problem occurs.
>>>
>>> What can be done to solve this? I've tried removing the @ sign and all
>>> seems to work fine. The same problem exists in other classes.
>>>
>>> --
>>> /James
>>>
>>
>

Reply via email to