我正按照官方PHP documentation
中的热门评论的建议设置我的自动加载器我的测试环境如下。
C:\ www \ autoload.php (按照热门评论中的建议设置)
<?php
spl_autoload_extensions(".php");
spl_autoload_register();
C:\ WWW \汽车\ Bmw.php
<?php
namespace Car\Bmw;
class Bmw { var $v = 'Hello I am Class : Bmw'; }
C:\ WWW \自行车\ Suzuki.php
<?php
namespace Bike\Suzuki;
class Suzuki { var $v = 'Hello I am Class : Suzuki'; }
C:\ WWW \的index.php
<?php
use Car\Bmw;
include 'autoload.php';
$Obj = new Bmw();
var_dump($Obj);
我尝试了一些变体,例如
在这些试验中,我遇到了很多错误,例如
Fatal error: Namespace declaration statement has to be the very first statement in the script in C:\www\Car\Bmw.php on line 3
或
Fatal error: spl_autoload(): Class Car\Bmw could not be loaded in C:\www\index.php on line 8
如果您想知道我为什么要使用此设置,请访问我之前提供的链接并阅读热门评论:Linked again here
提前致谢。
答案 0 :(得分:1)
您正在创建这两个类:
Car\Bmw\Bmw
Bike\Suzuki\Suzuki
您需要将命名空间声明修改为Car
和Bike
,如下所示:
<?php
namespace Car;
class Bmw { /* */ }