【问题标题】:how to use a PHP Constant that gets pulled from a database如何使用从数据库中提取的 PHP 常量
【发布时间】:2010-05-14 18:41:13
【问题描述】:

你能从数据库中读出一个 PHP 常量的名称并在一个 php 变量中使用它,以显示该常量的值以便在菜单中使用吗?

例如,这是我想要完成的事情

在 SQL 中:select menu_name AS php_CONSTANT where menu_id=1 返回的值是 L_HOME,它是 php 配置页面中 CONSTANT 的名称。 php 配置页面看起来像这样define('L_HOME','Home'); 并在数据库调用之前加载。 php 的用法是 $db_returned_constant,它的值是来自 db 调用的 L_HOME,然后我会将它放入一个字符串中,例如 $string = '<ul><li>' . $db_returned_constant . '</li></ul>',从而返回一个看起来像 $string = '<ul><li><a href="#" onclick="path_from_db">Home</a></li></ul>' 的字符串。

总结一下我正在尝试做的事情

  1. 根据语言偏好加载配置文件
  2. 查询数据库返回菜单名称,即第一步加载的配置文件中的CONSTANT名称,同时检索“onclick”事件中使用的menu_link。
  3. 使用 php 变量来保存 CONSTANT 的名称
  4. 将变量放入一个字符串中,该字符串会被回显以创建显示 CONSTANT 值的菜单。

我希望这有足够的意义......甚至可以使用这样的常量吗?

谢谢。

【问题讨论】:

  • 这可能是因为它已经很晚了,但我一点也不明白,对不起:)如果你想将常量注入到查询中,你可以使用"SELECT menu_name AS ".constant("php_CONSTANT")." where....." ...不确定是否这完全回答了你的问题。
  • 我的理解也有问题。你能缩小你遇到问题的具体部分吗?

标签: php constants


【解决方案1】:
define('L_HOME','Home');
$db_returned_constant = 'L_HOME'; // value actually retrieved from db
echo constant($db_returned_constant);

// will output 'Home'

【讨论】:

    【解决方案2】:

    当然,只需将常量名称检索到字符串中,然后使用@987654321@

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2014-06-17
      • 2022-11-02
      • 2016-09-10
      • 1970-01-01
      • 2015-09-18
      • 2013-07-20
      相关资源
      最近更新 更多