【发布时间】:2014-08-26 07:51:37
【问题描述】:
我有一点需要生成脚本的 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 是否接受这种设计?如果是,我将如何实现它,如果不是,什么是合适的替代方案?
【问题讨论】:
-
你可以使用
define("FOO",value) -
是的。你能行的。为什么你没有尝试。
-
@Asuraya Eclipse 给出了一个语法错误:unexpected '.'
-
“我有一个类似的问题” - 你介意告诉我们实际的问题是什么吗?
-
@KarolyHorvath 我不太确定它是什么,但我认为它涉及将翻译后的文本注入其他内容。当前的问题是无法从多个部分中定义类常量(意外的“.”)。
标签: php design-patterns constants