PHP 板


LINE

看板 PHP  RSS
https://www.php.net/releases/7_4_0.php 列出一部分变更: - 效能提升(这快要算不上新消息了...) - 物件的成员可以设定资料型别 - public static iterable $list; - 不能用 callable(行为不固定)跟 void(这麽设感觉意义不明) - 箭头函式(跟 JS 的不太一样) - 请参照 RFC https://wiki.php.net/rfc/arrow_functions_v2 - 可以在阵列表示式里面用 spread 运算子 - $ary = ['x', 'y', ...$other, 'z']; - $ary = [...$a, ...$b]; - 可以少写一些 array_merge(),不过 array_merge 还是有自己的天空 - FFI,简单说就是可以从 PHP 呼叫 C 的程式。 - 文件 https://www.php.net/manual/en/class.ffi.php - RFC https://wiki.php.net/rfc/ffi - 以前有人做 PHP 的 TensorFlow binding 作为 PoC 火力展示。 - deprecate 一堆...早就不该这麽用的东西 - https://www.php.net/manual/en/migration74.deprecated.php - 比较值得一提的是没有括号的巢状三元运算子被 deprecated - $a = 1 ? 2 : 3 ? 4 : 5; // 以後不能这样 - $a = (1 ? 2 : 3) ? 4 : 5; // 可以这样 - $a = 1 ? 2 : (3 ? 4 : 5); // 这样也行 详细内容请参照: - https://www.php.net/manual/en/migration74.new-features.php - https://github.com/php/php-src/blob/PHP-7.4/UPGRADING --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.248.122.206 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1575013359.A.D6B.html
1F:推 MOONRAKER: @_O 11/29 16:03
2F:推 dream0405: 期待php8的释出会变成什麽样子~~~ 11/29 22:23
3F:推 gpmm: 感觉 7.4 又是个升级门槛 XDD 11/29 22:33
4F:→ gpmm: 语法变动这麽频繁老人家快要跟不上了 11/29 22:33
5F:→ GALINE: 倒是还好,旧的写法原则上都可以动。那份 deprecation 表 11/30 16:06
6F:→ GALINE: 也是眼界大开,「原来PHP(曾经)能这样乱搞喔」 11/30 16:07
※ 编辑: GALINE (223.139.152.108 台湾), 11/30/2019 16:11:01
7F:→ GALINE: 是说试着在一些私人专案用 PHP 自己当样版引擎(复古风~) 11/30 16:17
8F:→ GALINE: 加一些简单的 helper 函式(例如 escape)之後还满好用的 11/30 16:18
9F:→ MOONRAKER: 更上次没看到没有括号的三元运算子 11/30 18:33
10F:→ MOONRAKER: 公司有一个已离职的同事最爱写ternary op连发 11/30 18:34
11F:→ MOONRAKER: 不时发现这种整人code 一bit blame发现又是他 >:( 11/30 18:34
12F:推 MangoTW: 类别成员型别推一个 12/02 19:18
13F:推 newton2009: 借问一下喔 Unbinding $this when $this is used 这段 12/04 19:49
14F:→ newton2009: 有例子可以说明吗?我不太能理解这段要表达的意思! 12/04 19:49
你可以在物件里面做出 closure,然後 $this 会自动绑定到原本的物件 class A { function makeClosure() { return function() { echo "Closure 有跑" . PHP_EOL; var_dump($this); }; } } $func1 = $a->makeClosure(); $func1(); // Closure 有跑 // /private/tmp/a.php:7: // class A#1 (0) { // } 然後你可以用 bindTo() 这个成员方法复制出新的 closure 但 $this 指到另一个物件 $func2 = $func1->bindTo(new stdClass); $func2(); // Closure 有跑 // /private/tmp/a.php:7: // class stdClass#3 (0) { // } 然後你现在还可以 bindTo(null) code 还是能动,只是一用到 $this 就会喷掉 $func3 = $func1->bindTo(null); $func3(); // Closure 有跑 // PHP Fatal error: Uncaught Error: Using $this when // not in object context in /private/tmp/a.php:7 PHP 7.4 之後对原本有 $this 的 $closure 呼叫 bindTo(null) 会直接喷掉 不过 RFC 说明看起来目的比较不是保护开发者不小心搞死自己 而是为了 PHP 8 铺路 https://wiki.php.net/rfc/deprecations_php_7_4 我一下是想不到为什麽会想要去 bindTo(null) 不过刚刚找 RFC 的时候看到 Laravel / Carbon 还真的踩中这个 https://github.com/laravel/framework/issues/29411 ※ 编辑: GALINE (36.237.100.25 台湾), 12/05/2019 00:41:50 ※ 编辑: GALINE (36.237.100.25 台湾), 12/05/2019 09:52:36 ※ 编辑: GALINE (60.248.122.206 台湾), 12/16/2019 11:33:18







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP