gpt4 book ai didi

PHP 命名空间,在 use 语句中包含一个常量

转载 作者:行者123 更新时间:2023-12-04 16:55:43 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Can PHP namespaces contain variables?

(6 个回答)


3年前关闭。




我正在尝试在 PHP Namespace Use 语句中使用常量:

define('API_VERSION', 'v201705');

我希望能够在下面的 use 语句中使用上面的常量
use api\v201705\service;

我不知道这是否可行,因为以下显然不起作用:
use api\.API_VERSION.\service;

任何人都可以建议在这种情况下使用常量的不同方法吗?

任何帮助,将不胜感激。

谢谢

最佳答案

我在这里使用的解决方法是仅使用类常量。

然后

  • 您不需要覆盖自动加载器
  • 您可以在语义上对常量进行分组
  • “define”具有全局可见性,在 99% 的用例中您不需要它。
  • 您不需要实例化类来使用类常量。因此,这是相当便宜的操作。


  • namespace My;

    class StaticConfig {
    const VERSION = '1.2.3';
    }

    ...
    use My\StaticConfig;
    echo StaticConfig::VERSION;


    实际上,这甚至不是解决方法,而是很常见的做法。

    关于PHP 命名空间,在 use 语句中包含一个常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48930610/

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