PHP将第一类文件夹扩展回来

时间:2014-10-30 19:36:20

标签: php namespaces

我有一个基础抽象类,比如位于Base.php的{​​{1}}。现在,我有另一个班级,说/lib/Helper/Base.php位于Awesome.php,此班级需要扩展/lib/Helper/Awesome/Awesome.php

我已将我的命名空间定义如下:

Base.php

Base

Awesome.php

<?php namespace Helper;

abstract class Base
{

}

现在,这表示未找到班级<?php namespace Helper\Awesome; class Awesome extends Base { } 。我尝试将Base和/或require_once用于include的路径,但它们也无效。我做错了什么?

1 个答案:

答案 0 :(得分:3)

您正在包含该文件,这是正确的做法。但你也在使用 命名空间。

命名空间不是文件夹,这意味着命名空间&#39; Helper&#39;不是文件夹而是逻辑层次结构。为了在逻辑命名空间Base中使用类HelperAwesome类需要使用完整的逻辑路径扩展Base类,即{{1} }。

\Helper\Base

或改为使用 namespace Helper\Awesome; class Awesome extends \Helper\Base { } 关键字(例如c#use/as语句)。

using

更多信息可以在php.net网站上获取。 这是一个直接的参考:http://php.net/manual/en/language.namespaces.importing.php