You are here: Re: include_once/__autoload/namespace emulation ... « PHP Programming Language « IT news, forums, messages
Re: include_once/__autoload/namespace emulation ...

Posted by Kevin Newman on 11/29/05 17:33

Sean wrote:
> Namespaces and PHP are certainly an issue, some of the things you wrote
> I have never heard of before, like require_once being bugged.
>
> Pear is a good example of how namespaces should be done but I would
> suggest an even simpler solution.
>
> Say you have a folder structure like:
>
>> classes
>
>>> XML
>>>> Parser.inc.php
>>>> Transformer.inc.php
>
>>> DB
>>>> Mysql.inc.php
>
>>> FILE_SYSTEM
>>>> File.inc.php
>
> They you should have an auto load function like:
>
> function __autoload( $class )
> {
> $load = strtolower( str_replace( "_", "/classes/", $class ) ) .
> ".inc.php";
> if( file_exists( $load ) )
> {
> include_once( $load );
> }
> else
> {
> die( "Can't find a file for class: $class \n" );
> }
> }
>
> Now you can have
>
> $obj = new XML_Parser();
>
> (example adapter from http://www.wiki.cc/php/Overload_autoload).
>
> This makes things allot easier. The drawback is it is not php4
> compatible.
>

I thought of that, but doesn't it try to load "XML_Parser" from within
the class file, instead of just "Parser"? In some cases that would lead
to to huge class names (and a lot of typing).

Also, I've read that there is a performance problem with __autoload -
has that been taken care of? (I read that php 5.1 improved some of the
performance issues with magic functions.)

I really wish the php guys would just implement at least class level
namespaces (they already have a patch).

Kevin N.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация