当我尝试使用自动加载和命名空间时出现此错误:
致命错误:* 在 第10行的 /usr/local/www/apache22/data/public/php5.3/test.php中 找不到类’Class1’ *
谁能告诉我我在做什么错?
这是我的代码:
Class1.php:
<?php namespace Person\Barnes\David { class Class1 { public function __construct() { echo __CLASS__; } } } ?>
test.php:
<?php function __autoload($class) { require $class . '.php'; } use Person\Barnes\David; $class = new Class1(); ?>
Class1不在全局范围内。
请参见下面的工作示例:
<?php function __autoload($class) { $parts = explode('\\', $class); require end($parts) . '.php'; } use Person\Barnes\David as MyPerson; $class = new MyPerson\Class1();
编辑(2009-12-14):
为了清楚起见,我使用“ use … as”是为了简化示例。
替代方法如下:
$class = new Person\Barnes\David\Class1();
要么
use Person\Barnes\David\Class1; // ... $class = new Class1();