Re: Classes - Dumb question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/15/07, Larry Garfield <larry@xxxxxxxxxxxxxxxx> wrote:
>
> On Monday 15 October 2007, Nathan Nobbe wrote:
> > On 10/15/07, tedd <tedd@xxxxxxxxxxxx> wrote:
> > > I understand the class concept. But, I am not familiar with autoload.
> > >
> > > Stut also made mention of that, so I shall investigate post haste.
> >
> > __autoload is pretty tight; but if you dont want to have all your class
> > files in the same
> > directory, i suggest you implement something custom.
> > ive seen several implementations where class names basically have
> > filesystem paths
> > embedded in them; ugh..  i think thats what those buxa project guys are
> > doing, but im
> > not certain.
> > also, the __autoload() function has to be available for it to be called,
> > which means you
> > will have to include the file that defines it in every file that would
> use
> > it.  since my php
> > code is heavily oop; i just use the php.ini auto_prepend_file directive.
> > oh; btw, Tedd, autoload is for classes only; if you like what you see
> maybe
> > that will be
> > the excuse youve been looking for to get into oop w/ php :)
> >
> > -nathan
>
> __autoload() is also not recommended. :-)  You can only have one per
> script.
> Instead, use spl_autoload_register().  That way you can stack multiple
> autoload routines cleanly.
>
> (At least that's what the php-internals folks were saying the last time
> the
> topic came up.)
>
> http://us2.php.net/manual/en/function.spl-autoload-register.php
>

neat; i didnt know about that, but i had checked out spl_autoload() before.
ive defined a singleton that has a method for loading of classpaths.
when __autoload is called, it delegates to the singleton to see if the
classpath is valid.
if theres a match it loads it, otherwise it chokes.
i cant imagine having multiple __autoload methods, but perhaps if there was
a third party
lib that was also using autoload() theirs could be stacked on top of yours
and that way they
could both live together.  i might give that a shot.

-nathan

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux