PHP 关于不兼容与强类型的平衡 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gouchaoer
V2EX    PHP

PHP 关于不兼容与强类型的平衡

  •  
  •   gouchaoer 2018 年 3 月 8 日 2585 次点击
    这是一个创建于 2880 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天发现有个代码在 php7.2 下没法跑,一查发现 count 在 7.2 的行为不再兼容,而且我看了这个改变非常震惊:
    http://php.net/manual/en/function.count.php

    也就是说 count 的数据必须是 countable 的,这太理想化了,假如一个对象为 countable 或者为 null 呢?以前 null 可以传入现在不行了;以前 count(string)可以,现在不行了;

    去网上这个 features 全是问题,我觉得你要改 count 必须以兼容的方式来改吧,比如 count 的第二个参数加一个严格模式啥的,否则失去了脚本语言的本质。。。。
    4 条回复    2018-04-18 11:04:01 +08:00
    gouchaoer
        1
    gouchaoer  
    OP
       2018 年 3 月 12 日
    https://www.reddit.com/r/PHP/comments/82w04e/it_sucksphp72_count_break_bc/
    感觉 php72 太激进了,话说咋没人讨论?
    Junjunya
        2
    Junjunya  
       2018 年 3 月 12 日
    因为大部分人还没用上 PHP7.2 吧
    slince
        3
    slince  
       2018 年 3 月 13 日
    我觉得挺好,本身 count 一个非数组变量就是不合理的;这么去写也是不对的;
    不过这对我来说一点影响都没有,我根本不会去 count 一个非数组

    PS: 总是背负历史,php 就很难迈开脚往前走
    gouchaoer
        4
    gouchaoer  
    OP
       2018 年 4 月 18 日
    我找到了克服这个问题的办法,那就是吧 E_DEPRECATE 的提醒关掉就 ok 了,世界清静了,php 兼容了,至于 php8 会不会移除,关我屁事,反正继续瞎搞我不会升级的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2298 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:53 PVG 23:53 LAX 07:53 JFK 10:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86