我有一个类包装类car
,它位于Automobile
的命名空间中。然后我有tire
类,它位于Automobile\Wheels
的命名空间中。在轮胎类中,我想从car类访问静态变量,但唯一的方法是引用完整的名称空间\ class。名称空间前置当前命名空间
<?php
namespace Automobile;
class Car {
public static $Axle;
public function __construct() {
static::$Axle = new Axle();
}
}
<?php
namespace Automobile\Wheels;
class Tire {
public $size;
public function __construct($size = 16) {
$this->size = $size;
\Automobile\Car::$Axle->add_wheel($this);
}
}
我的问题是:这是一个不错的做法引用这样的课程?如果不包括类的完整和绝对名称空间,是否有任何方法可以引用该类?
您可以添加使用语句文件'使用的顶级汽车\汽车;'那么这将让你使用'汽车'作为该文件中相同名称空间中的类。小心碰撞,你可以避免与别名'使用汽车\ Car作为CarAliasHere;'。这将允许您在该文件中使用“CarAliasHere”。 – JimL
这很有效。我尝试过'使用Autmobile;'但是在类的最后添加了类名是它做的。设置别名也有帮助。谢谢! – helllomatt