这个问题是针对所有php naespace gurus的。 方案如下。
./ namespace.inc.php - 使用命名空间
创建b的实例的类<?php
// has no namespace definition and is an external class
class A {}
?>
./ a-wons.class.php - 类b从没有名称空间继承的类
<?php
namespace foo;
class B extends A {}
?>
./ b-wns.class.php - 带有扩展名
的命名空间的类$ php namespace.inc.php
PHP Fatal error: Class 'foo\A' not found in b-wns.class.php on line 5
在调用'namespace.inc.php'时会遇到由外部类a产生的命名空间错误,没有提供子节点的命名空间定义集 名称空间为默认值
namespace bar;
我知道我可以将类'命名空间设置为例如use bar\A as A;
并在namespace.inc.php中使用<a target="_self" ng-href="{{csv_link}}">download csv</a>
之类的别名定义,但是我不想修改类A 因为它可能是外部类而且我想保留我自己的名字我只是问自己是否
可以伪装类'一个命名空间在类b中保留我自己的命名空间,并在namespace.inc.php中调用吗?
答案 0 :(得分:0)
简单地使用class B extends \A {}
作为@u_mulder建议不起作用,但结合名称空间的别名定义它似乎有效。
./ B-wns.class.php
<?php
namespace foo;
use \A as A; // needs to be added otherwise
// extending external class A will not work
class B extends A {}
?>
我还不知道是否可能导致其他错误,所以请随意添加任何评论。谢谢。