Re: [PHP] what's the point of _autoload?
On Fri, May 14, 2010 at 7:31 AM, Michael N. Madsen wrote: > Since php started to support oop it has moved more and more features in > that direction. > This is good for me because I love oop. Then came _autoload() and I was > rejoiced only to find that this (no fun)ction can't be used to it's fullest > potential in oop unless I have all the files in the same directory. This is > where you correct me and tell me how I can have a file structure in more > then one level and still get the ripe juices of _autoload() (Please, I beg > you!) > umm ok ill correct you.., theres no requirement to have files in a single directory. php gives you the name of a class and you are responsible for finding the file where the class lives and load it. > I have looked at the comments on the doc page of the function and every > single one comes with the addition of many, often complex lines of code that > will only add more load on the server. actually, autoloading typically reduces load on the server b/c only the files you actually need for a given request are loaded on demand. this in contrast to requires/includes for every possible class that could potentially be needed to fulfill a given request. > If _autoload can't figure out the correct path to the file which defines > the class, then what is the point from an oop pov? see above; its a speed boost, and typically folks prefer not to bother include/require files atop ever class the define; those are the 2 main benefits. -nathan
Re: [PHP] what's the point of _autoload?
On 14 May 2010 15:31, Michael N. Madsen wrote: > Since php started to support oop it has moved more and more features in that > direction. > This is good for me because I love oop. Then came _autoload() and I was > rejoiced only to find that this (no fun)ction can't be used to it's fullest > potential in oop unless I have all the files in the same directory. This is > where you correct me and tell me how I can have a file structure in more > then one level and still get the ripe juices of _autoload() (Please, I beg > you!) > > I have looked at the comments on the doc page of the function and every > single one comes with the addition of many, often complex lines of code that > will only add more load on the server. If _autoload can't figure out the > correct path to the file which defines the class, then what is the point > from an oop pov? __autoload() is triggered when a class referenced isn't already loaded. It gives you the chance to load the class by requiring the needed file - but there's no way PHP has any idea of how many files you have in your project, so YOU have to tell PHP which file to load. This, to most people, means coming up with a meaningful way of naming files and classes so you can parse the class name and then know where to grab the file from (Zend naming for instance: Zend_Db_Table_Abstract gets parsed to Zend/Db/Table/Abstract.php). So no, you don't have to stress the server a lot - but you do have to do some manual work. Regards Peter -- WWW: http://plphp.dk / http://plind.dk LinkedIn: http://www.linkedin.com/in/plind Flickr: http://www.flickr.com/photos/fake51 BeWelcome: Fake51 Couchsurfing: Fake51 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] what's the point of _autoload?
Since php started to support oop it has moved more and more features in that direction. This is good for me because I love oop. Then came _autoload() and I was rejoiced only to find that this (no fun)ction can't be used to it's fullest potential in oop unless I have all the files in the same directory. This is where you correct me and tell me how I can have a file structure in more then one level and still get the ripe juices of _autoload() (Please, I beg you!) I have looked at the comments on the doc page of the function and every single one comes with the addition of many, often complex lines of code that will only add more load on the server. If _autoload can't figure out the correct path to the file which defines the class, then what is the point from an oop pov? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php