V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
xiaoyanbot
V2EX  ›  PHP

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

  •  
  •   xiaoyanbot · May 28, 2017 · 2336 views
    This topic created in 3268 days ago, the information mentioned may be changed or developed.

    PHP 手册:

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

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

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

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

    4 replies    2017-06-01 21:41:59 +08:00
    shyling
        2
    shyling  
       May 29, 2017
    就是 error_reporting(E_ALL & ~E_ERROR); 之类的吧,大概是中间魔改了 constriants 对应的数字,反正我全是用 0 23333
    cxbig
        3
    cxbig  
       May 29, 2017
    大体意思就是说,凡是函数参数有预留常量的,在代码里用常量。
    哪怕你知道常量对应的值,也不要偷懒,以防版本更新后,相应数值的改变对你的程序造成影响。
    函数的常量通常在手册里对应的页面可以找到。
    xiaoyanbot
        4
    xiaoyanbot  
    OP
       Jun 1, 2017
    @sagaxu 是动态获取这个常量
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3017 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 08:35 · PVG 16:35 · LAX 01:35 · JFK 04:35
    ♥ Do have faith in what you're doing.