At 06:53 PM 6/12/2002 +0100, Ivan Ristic wrote: > > First of all I'd prefer it to call a predefined callback called > > __autoload() if a class is not found. > > I do not have a problem with the predefined name. However, > unserialize is already using the ini setting for the > same thing, and it would be a shame to introduce an > inconsistency. > > Can we obey the ini setting if it is there, and call __autoload() > if it isn't (i.e. introduce "__autoload" as a default value for > the ini parameter)?
I was thinking __autoload() would be used everywhere including in unserialize. I think standardizing the callback is a good idea. > > The second problem is that I don't see it working with nested classes. > > Is it good enough to only have this work with classes in the global scope? > > I am not really familiar with nested classes; is it because > you don't know the name of the file in which a nested class > is located? If so, I would say that trying to accommodate that > would be an overkill. In any case, the programmer using nested > classes can always write the __autoload() function that will > be smart enough. The problem is that if you have MyClass1::MyClass2::MyClass3 then MyClass3 is looked up in the result of MyClass2 being looked up in MyClass1. If the lookup fails I can't tell __autoload() the path. The only think I could do is possibly pass it the result of MyClass2 being looked up in MyClass1 and "MyClass3". The question is if people will manage to handle this. I think it might be complicated and it might be best not to go in this direction. Andi -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php