My code:

require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace(array('Amazon_', 'Nba_'));

$filesDomain = new Nba_SimpleDb_Domain_Files;

There is a parse error in the class Nba_SimpleDb_Domain_Files.
With the code above, when executed, the screen is blank.

If I add:

require_once('Nba/SimpleDb/Domain/Files.php');

I get the parse error.

My error reporting fwiw:

error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 'on');
ini_set('display_startup_errors', 'on');

Any hints?


On Sat, May 2, 2009 at 6:20 PM, J DeBord <[email protected]> wrote:

> Alright, I read the article. Great as usual. Thanks Matthew.
>
> The following paragraph caught my attention early on:
>
> "So, we then tried using the suppression operator ('@'). This gets rid of
> the error notices (though they still show up in logs) -- but has a really
> nasty side effect: if there are *parse* or *compilation* errors when
> attempting to load the class, nothing is reported, and you end up with a
> blank white screen with no information."
>
> Since changing to the Zend_Loader_Autooader, I've been noticing this exact
> thing is happening. I'll do some investigating, but as of right now, if I
> accidentally use = in an associative array as opposed to => for example, I
> get the blank white screen instead of a parse error.
>
> Article was great. I'm going to keep plugging away. Thanks!
>
>
>
> On Sat, May 2, 2009 at 6:02 PM, J DeBord <[email protected]> wrote:
>
>> Thanks guys! I will be reading Matthew's Dev Zone article this evening.
>>
>> Regarding registerNamespace(). How exactly does this work? What is the
>> advantage? For example I'm using an Amazon SimpleDb library. I keep it in
>> the same library directory next to my Zend (framework) directory. The
>> library directory is on the include path. All the class names in the Amazon
>> directory begin with Amazon_ and use the same naming conventions as the Zend
>> Framework. Should I registerNamespace('Amazon_') and forego using the
>> setFallbackAutoloader(true) ?
>>
>> Thanks again!
>>
>> J
>>
>>
>>
>> On Sat, May 2, 2009 at 4:30 PM, Matthew Weier O'Phinney <[email protected]
>> > wrote:
>>
>>> -- David Mintz <[email protected]> wrote
>>> (on Saturday, 02 May 2009, 08:54 AM -0400):
>>> > On Sat, May 2, 2009 at 8:50 AM, Matthew Weier O'Phinney <
>>> [email protected]>
>>> > wrote:
>>> >     -- J DeBord <[email protected]> wrote
>>> >     (on Saturday, 02 May 2009, 11:32 AM +0200):
>>> >     > To make Zend_Loader_Autoloader match the functionality of this:
>>> >     >
>>> >     > require_once "Zend/Loader.php";
>>> >     > Zend_Loader::registerAutoload();
>>> >     >
>>> >     > Would you do this? :
>>> >     >
>>> >     > require_once 'Zend/Loader/Autoloader.php';
>>> >     > $autoloader = Zend_Loader_Autoloader::getInstance();
>>> >     > $autoloader->setFallbackAutoloader(true);
>>> >
>>> >     Yes, though the last line can be omitted if you're not using any
>>> >     libraries outside of Zend_ or ZendX_ trees. Or, if you know the
>>> exact
>>> >     namespaces of any other libraries, register them:
>>> >
>>> >        $autoloader->registerNamespace(array('Foo_', 'Bar_'));
>>> >
>>> > If we could stick a sticky on this little thread...! I can promise this
>>> will
>>> > get asked a lot as people's apps blow up following upgrade to 1.8
>>>
>>> I'll add it to the FAQ and release notes.
>>>
>>> The article I wrote for devzone yesterday appears to be helping the
>>> transition for many, however.
>>>
>>> --
>>> Matthew Weier O'Phinney
>>> Project Lead            | [email protected]
>>> Zend Framework          | http://framework.zend.com/
>>>
>>
>>
>

Reply via email to