我想我可能会遗漏一些简单的东西,需要第二双眼睛。这失败,找不到致命的错误类。自动加载功能取自PSR-0 github页面。
<?php
function my_autoload($className)
{
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
return $fileName;
}
spl_autoload_register('my_autoload');
new Vendor\Package\Example();
这是我的index.php,Class位于Vendor / Package / Example.php,这里是内容。
<?php
namespace Vendor\Package;
class Example {
public function __construct() {
echo __CLASS__ . ' Created with Namespace ' . __NAMESPACE__;
}
}
当我执行此操作时require_once my_autoload('Vendor\Package\Example');