私はSymfonyクラスローダーで少し遊んでいます(他の人、概念について読んで、実装を始めました)。
http://symfony.com/doc/current/components/class_loader.htmlも読みました。また、ディレクトリ構造をすべてに合うように変更しました。失敗する小さなソースコードは次のとおりです。
ファイル名:test.php、dir:C:/test/BE/src/main.php
<?php
define('BASE_DIR','/../..');
echo BASE_DIR.'/BE/libs/symphony/component/ClassLoader/2.1.0/UniversalClassLoader.php';
require_once BASE_DIR.'/BE/libs/symphony/component/ClassLoader/2.1.0/UniversalClassLoader.php';
use Symfony\Component\ClassLoader\UniversalClassLoader;
$loader = new UniversalClassLoader();
$loader->registerNamespace('App\Location\Location', 'Location/Location');
// You can search the include_path as a last resort.
$loader->useIncludePath(true);
$loader->register();
use App\Location\Location;
new App\Location\Location(); //Fatal error: Class 'App\Location\Location' not found in C:/test/BE/src/main.php
ファイル名:Location.php、ディレクトリ:C:/test/BE/src/Location/Location.php
namespace App\Location;
class Location{
private $lat;
private $lng;
}