[英]PHP Extending Class one Folder Back
我有一个基础抽象类,说Base.php
位于/lib/Helper/Base.php
。 现在,我有另一个类,说Awesome.php
位于/lib/Helper/Awesome/Awesome.php
,这个类需要扩展Base
。
我定义了我的命名空间如下:
Base.php
<?php namespace Helper;
abstract class Base
{
}
Awesome.php
<?php namespace Helper\Awesome;
class Awesome extends Base
{
}
现在,这表示未找到Base
类。 我试图使用require_once
和/或将其include
到Base.php
的路径中,但它们也没有起作用。 我究竟做错了什么?
您将包括该文件,这是正确的事情。 但是您也在使用名称空间。
名称空间不是文件夹,这意味着名称空间“ Helper”不是文件夹,而是逻辑层次结构。 为了使用类Base
在他的逻辑命名空间Helper
的Awesome
类需要完整的逻辑路径,即扩展基类\\Helper\\Base
。
namespace Helper\Awesome;
class Awesome extends \Helper\Base {
}
或改用use/as
关键字(如c# using
语句)。
namespace Helper\Awesome;
use \Helper\Base as Base;
class Awesome extends Base
{
}
更多信息可以在php.net网站上找到。 这是直接参考: http : //php.net/manual/zh/language.namespaces.importing.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.