gpt4 book ai didi

php - 在当前命名空间之前的命名空间

转载 作者:行者123 更新时间:2023-12-04 17:02:38 25 4
gpt4 key购买 nike

我有一个类包装器,类 car ,位于 Automobile 的命名空间中.然后我有课tire位于 Automobile\Wheels 的命名空间中.在轮胎类中,我想从汽车类访问静态变量,但唯一的方法是引用完整的命名空间\类。

<?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);
}
}

我的问题是:引用这样的类是否合适?有没有什么方法可以在不包含类的完整和绝对命名空间的情况下引用类?

最佳答案

确实没有好坏之分,尽管人们可能对此非常自以为是(使用空格或制表符进行缩进也是如此,但我们不要走这条路;))。只要它们被正确引用,就可以使用完全限定的类名。

您可能想使用 use “导入”外部类的关键字,我认为这提高了可读性:

<?php
namespace Automobile\Wheels;

use Automobile\Car;

class Tire {
public $size;
public function __construct($size = 16) {
$this->size = $size;

Car::$Axle->add_wheel($this);
}
}

您可能想引用 PHP documentation ,因为它关于主题非常简洁,并且对如何使用命名空间给出了很好的见解。

关于php - 在当前命名空间之前的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com