【问题标题】:How do I examine defined constants in PHP?如何检查 PHP 中定义的常量?
【发布时间】:2010-12-24 06:12:30
【问题描述】:

我正在使用 NetBeans 中的 Xdebug 逐步浏览 CodeIgniter 的源代码,并且我正在寻找一种方法来查看定义的常量。如果不可能,还有其他方法可以显示所有已定义的常量吗?

【问题讨论】:

    标签: php debugging constants xdebug


    【解决方案1】:

    我使用的这种做法相当不错,因为它只显示自定义/用户创建的常量。

    print_r(var_export(get_defined_constants(true)['user'], true));
    

    将其包装在 pre 标记中或仅查看源代码,您将获得您定义的所有内容的非常好的数组。

    请注意,这不适用于 php 5.3.*,在 5.4.* 中输出正常。

    在早期版本的 php 中,get_defined_constants() 必须先分配给一个变量,然后才能输出。 像这样的东西。

    $gdc = get_defined_constants(true);
    print_r( var_export($gdc['user'], true) );
    

    【讨论】:

    • 避免显示所有内容(Super Globals 等)的好解决方案。避免列表末尾的更多元素...
    【解决方案2】:

    我能找到的最好方法是在调试模式下按 F7(进入)来执行你的常量行。

    define('SOME_CONSTANT','VALUE');
    

    然后双击“SOME_CONSTANT”,右击选择添加新手表(快捷键:shift + ctrl + F7),添加新手表窗口会出现预填充的常量,选择回车,你应该看到你的常量值在变量(如果您选择了蓝色菱形“在变量视图中显示手表”)和手表窗口面板中。

    知道也很方便,您可以将鼠标悬停在变量上查看它们的值,而不是在“调试”>“变量”窗口面板中查看...只需将其打开,因为它默认处于关闭状态...显然有问题... .使用最新的xdebug,到目前为止对我来说还不错。

    工具 > 选项 > PHP > 常规选项卡 > 调试部分 > 检查监视和气球评估

    希望这在 2 年后仍然有用。

    【讨论】:

      【解决方案3】:

      你可能想适应:

      $arr = get_defined_vars();

      【讨论】:

      • 变量和常量是两个不同的世界......因此,不,他可能不想适应 get_defined_vars()
      【解决方案4】:

      看看get_defined_constants 函数。它将返回代码中所有已定义常量的数组,直到函数调用为止。然后可以使用print_r 打印出数组。

      【讨论】:

      • PHP 的一个更好的特性是它几乎拥有你所需要的一切。
      • 因此发出恼人的咕哝声。 ;-) 仍在等待是否有人知道 Xdebug 是否可以显示常量。
      • Xdebug 不提供此功能。没有理由你不能使用 Xdebug var_dump 来显示常量。
      猜你喜欢
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多