V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoyanbot
V2EX  ›  PHP

PHP 手册说 error_reporting 常量因 PHP 版本有差异不可靠,可获取函数还是获取的数值,怎么获取常量名称以兼容 PHP 不同版本?

  •  
  •   xiaoyanbot · 2017-05-28 23:31:26 +08:00 · 2021 次点击
    这是一个创建于 2767 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PHP 手册:

    新的 error_reporting 级别。 可以是一个位掩码也可以是一个已命名的常量。 强烈建议使用已命名的常量,以确保兼容将来的版本。 由于错误级别的添加、整数取值范围的增加, 较久的基于整数的错误级别不会总是和预期的表现一致。

    可获取的函数,获得的结果还是数值

    var_dump( ini_get(error_reporting) );
    
    echo  error_reporting() .'<hr>';
    

    怎么获取常量名称以兼容 PHP 不同版本?

    4 条回复    2017-06-01 21:41:59 +08:00
    sagaxu
        1
    sagaxu  
       2017-05-28 23:52:57 +08:00
    shyling
        2
    shyling  
       2017-05-29 00:14:51 +08:00
    就是 error_reporting(E_ALL & ~E_ERROR); 之类的吧,大概是中间魔改了 constriants 对应的数字,反正我全是用 0 23333
    cxbig
        3
    cxbig  
       2017-05-29 02:41:38 +08:00
    大体意思就是说,凡是函数参数有预留常量的,在代码里用常量。
    哪怕你知道常量对应的值,也不要偷懒,以防版本更新后,相应数值的改变对你的程序造成影响。
    函数的常量通常在手册里对应的页面可以找到。
    xiaoyanbot
        4
    xiaoyanbot  
    OP
       2017-06-01 21:41:59 +08:00
    @sagaxu 是动态获取这个常量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:15 · PVG 16:15 · LAX 00:15 · JFK 03:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.