【发布时间】:2016-12-28 18:59:03
【问题描述】:
我的 PhP 文件包含一些长字符串常量,我正在尝试将它们分解出来。所以我创建了“my_string_constants.php”并在header.php 中使用了include。到目前为止一切正常。
现在另一个文件page.php 也需要字符串常量和 header.php。下面的方案试图澄清这些依赖关系。
字符串常量现在似乎只在我的标题中可用,而不是在我的页面的其余部分。我试图通过将global ... 添加到string_constants.php 中的每个字符串常量来解决此问题。这解决了“未知变量”的错误,但我的字符串常量似乎仍然无法用于大多数页面内容。
什么是让它工作的正确方法?
更新
问题已解决。我应该使用define(myString 而不是$myString = ...。通过这样做,我只需要在header.php 中添加一个include,并且page.php 也可以使用常量。
谢谢一百万,你们太棒了。
【问题讨论】:
-
如果
page.php需要header和constants,但header已经有constants... 那么page.php只需要header -
所以它们是字符串变量,而不是字符串常量。常量不能更改,也不需要声明为全局的。
-
@RubenGeert 正确,这不是一个真正的常数。使用真正的常量应该可以解决这个问题。
-
@RubenGeert,如果你能做到
$someString = 'blah...'; $someString = 'something else';,那么它在任何语言中都不是常数。 -
你做错了如果这是 WordPress。
page.php是您主题的一部分吗?如果是这样,请在主题的functions.php文件中定义常量,然后就完成了。您不必包含标题、引导程序等 - 所有这些都由 WordPress 自动处理(我已将 WP 标签添加到您的问题中,因为这是一个非常重要的细节)。
标签: php wordpress include global-variables