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

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

  •  
  •   gouchaoer · 2018-03-08 10:28:37 +08:00 · 1018 次点击
    这是一个创建于 377 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天发现有个代码在 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
        1
    gouchaoer   2018-03-12 10:27:03 +08:00
    https://www.reddit.com/r/PHP/comments/82w04e/it_sucksphp72_count_break_bc/
    感觉 php72 太激进了,话说咋没人讨论?
        2
    Junjunya   2018-03-12 15:38:06 +08:00
    因为大部分人还没用上 PHP7.2 吧
        3
    slince   2018-03-13 23:54:04 +08:00
    我觉得挺好,本身 count 一个非数组变量就是不合理的;这么去写也是不对的;
    不过这对我来说一点影响都没有,我根本不会去 count 一个非数组

    PS: 总是背负历史,php 就很难迈开脚往前走
        4
    gouchaoer   336 天前
    我找到了克服这个问题的办法,那就是吧 E_DEPRECATE 的提醒关掉就 ok 了,世界清静了,php 兼容了,至于 php8 会不会移除,关我屁事,反正继续瞎搞我不会升级的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   832 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 15ms · UTC 21:57 · PVG 05:57 · LAX 14:57 · JFK 17:57
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1