首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在const中使用const

在const中使用const
EN

Stack Overflow用户
提问于 2014-08-26 07:51:37
回答 3查看 118关注 0票数 2

我有一些php,它需要生成一个脚本。它的一部分是静态的,但是数据是动态生成的。一段时间前,我在另一种语言中遇到了类似的问题,并使用常量替代解决了这个问题。

我想做的是:

代码语言:javascript
复制
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所接受?如果是的话,我会如何实施?若否,怎样才是合适的选择?

EN

Stack Overflow用户

发布于 2014-08-26 08:32:56

替换发生在字符串上,因此被接受。但是,您所收到的错误是由于PHP缺少常量表达式。即。不能编写使用另一个常量的常量。唯一被接受的语法是当第二个常量等于第一个常量时。

这种情况已经发生了变化,但只在最新的PHP5.6中发生了变化,它还不稳定:http://php.net/manual/en/migration56.new-features.php#migration56.new-features.const-scalar-exprs

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25500653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档