如何在不创建对象期间编写长类名的情况下加载PHP类?

时间:2011-12-12 01:41:48

标签: php directory autoload

我正在试图弄清楚如何在PHP中完全自动加载类。在创建新对象时,似乎我一直在努力编写真正长的类名。这有点烦人,具体取决于文件夹结构。

define('APPLICATION_PATH', realpath('.'));

function __autoload($class_name)
{
    $path = APPLICATION_PATH . DIRECTORY_SEPARATOR . "lib" . DIRECTORY_SEPARATOR . $class_name . ".php";
    if (file_exists($path))
        require_once $path;       
}


$customer = new AppName\Models\Customer();
echo $customer->GetName();

$cr = new AppName\Repository\CustomerRepository();
echo $cr->GetName(); 

我知道我可以使用use语句来缩短它,但是我必须编写一堆use语句。

有更好的方法吗?或者也许是我想要的东西让它变得更容易?

1 个答案:

答案 0 :(得分:2)

不,您要么写出类的全名,要么编写use语句。