On Thu Nov 3 03:06 PM, Will Fitch wrote:
> Wouldn't you consider spl_autoload_register an interoperability 
> solution?  Only your defined autoloading function would then need to 
> know how your file system is structured, there'd be no need for 
> include_path declarations and you wouldn't have to explicitly declare 
> paths for each class.
> 

The problem with spl_autoload_register() is it isn't clear what the
autoloading function is supposed to do if the class if not found.
So no I don't think spl_autoload_register() solves an interoperability
problem. SplClassLoader somewhat does a better job by forcing a common
implementation...

function FrameworkA_autoload($class) {
  if( !isset($AmapToFile[$class]) )
     throw new Exception('Class '. $class . ' not found!');

  include_once($AmapToFile[$class]);
}
function FrameworkB_autoload($class) {
  require_once($BmapToFile[$class]);
}
function FrameworkC_autoload($class) {
  include_once($CmapToFile[$class]);
}

spl_autoload_register('FrameworkA_autoload');
spl_autoload_register('FrameworkB_autoload');
spl_autoload_register('FrameworkC_autoload');

So both 'FrameworkB_autoload', 'FrameworkC_autoload' are never called.

Btw, I would hope that any 'standard' would actually that try to talk about
other autoloaders and how they should behave.

https://gist.github.com/221634

See comments about include() or require()



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to