问题
I'd like to autoload a class, but it's declared inside a different class' filename like so:
AClass.php
namespace path\to\A;
class AClass {}
class AException extends \Exception {}
BClass.php
namespace path\to\B;
use path\to\A\AClass; // I'm actually after AException inside
class BClass {}
class BException extends AException {}
I'm not interested in loading AClass, but AException. However, the above code is not autoloading AException.
回答1:
Convention might dictate that the file name matches the class inside, but that's only convention. Your autoloader is welcome to use any mapping you find useful. You can always look for a class name of xxxxxException and map it to xxxxxClass.php
来源:https://stackoverflow.com/questions/23168921/how-to-autoload-class-with-a-different-filename-php