gpt4 book ai didi

php - 在 const 中使用 const

转载 作者:可可西里 更新时间:2023-11-01 00:43:58 25 4
gpt4 key购买 nike

我有一些必须生成脚本的 php。它的一部分几乎是静态的,但数据是动态生成的。我以前用另一种语言遇到过类似的问题,并使用常量替代解决了它。

我正在尝试做的事情:

interface IConstants {
const SUBSTITUTE = '!substitute';
const FULL_STRING = 'var data = "' . self::SUBSTITUTE . '";';
}

class Util {
public static function replace($haystack, $needle, $replace) {
// implementation
}
}

class SampleClass {
public function getScript() {
$someData = $this->getData();
return Util::replace(IConstants::FULL_STRING, IConstants::SUBSTITUTE, $someData);
}

public function getData() {
// generate $someData
return $someData;
}
}

这种设计是否被 PHP 接受?如果是,我将如何实现它,如果不是,什么是合适的替代方案?

最佳答案

在 5.6 之前的 PHP 版本中,您无法执行此操作。在这些版本的 PHP 中,从组成部分构建常量的唯一方法是使用 define()。我必须查看它才能确定,但​​我认为您不能使用 define() 来定义类/接口(interface)常量。

从 PHP 5.6 开始,您将能够像这样定义常量,但前提是它们是根据其他常量定义的。

define() vs const

关于php - 在 const 中使用 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25500653/

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