Espaço para nome do autoload do PHP

Eu quero autocarregar minhas aulas colocando apenas o namespace + o nome do arquivo.

Exemplo:

esqueleto de diretórios:

\var\www |_ foo | |_ A.php | |_ B.php | |_ index.php 

A.php:

 a = $a; } } 

B.php:

 b = $b; } } 

index.php:

 <?php use foo\B; define('ROOT', __DIR__ . DIRECTORY_SEPARATOR); $b = new B('s', 2); function __autoload($classname) { $namespace = substr($classname, 0, strrpos($classname, '\\')); $namespace = str_replace('\\', DIRECTORY_SEPARATOR, $classname); $classPath = ROOT . str_replace('\\', '/', $namespace) . '.php'; if(is_readable($classPath)) { require_once $classPath; } } 

O problema é que, na class A e BI, declare o namespace com o nome da class, e quando eu uso isso, imprimo as variables ​​do __autoload e estão corretas, quando chamo o construtor, não encontre a class.

erro:

 Fatal error: Class 'foo\A' not found in /var/www/foo/B.php on line 7 

Se eu apenas instanciar A, e eu não uso B, o problema é o mesmo.

Eu preciso fazê-lo assim, porque eu quero isso na class B, você não pode usar A se você não colocar a declaração de uso, para fazê-la mais rígida.

Agora eu não sei se você entende o meu problema por minha explicação, mas obrigado de qualquer maneira por qualquer sugestão!

PD: Desculpe minhas habilidades de inglês.