推 crossdunk: 但就算php比較符合現在水準了,還是很多人看不起他 05/26 12:33
推 Mtcat: 推推 05/26 12:34
推 dreamnook: 資訊推 05/26 12:35
→ dreamnook: 話說為啥不能支持正太控(誤 05/26 12:36
※ 編輯: GALINE (60.248.122.206), 05/26/2016 12:41:54
→ comesuck: 看來我也要開始摸一下 05/26 12:43
→ myhome6206: 那要學現代PHP 除了那本歐來梨的書之外 還有什麼推薦 05/26 12:56
→ myhome6206: 的資源嗎? 書或者網路tutorial 05/26 12:57
PHP The Right Way 繁體中文版
http://laravel-taiwan.github.io/php-the-right-way/
※ 編輯: GALINE (60.248.122.206), 05/26/2016 13:05:12
→ GALINE: 阿,編輯放太久沒存檔結果貼了一樣的東西....XDDD 05/26 13:05
推 dreamnook: 推書本 book了:D 05/26 13:07
→ Argos: 阿 重複貼XD 05/26 13:08
推 johnny94: php 真的很妙,一個脫胎換骨的概念 05/26 14:14
推 LaPass: php的這種載入機制我覺得跟C C++很像.... 05/26 14:21
→ GALINE: 要我說的話抄 java 抄的比較兇。不過目前對於掛在 05/26 14:28
→ GALINE: namespace 下面的 function 沒有優雅的解決方案... 05/26 14:29
推 PoloHuang: Modern PHP不錯 05/26 15:04
→ LaPass: GALINE是指JSP嗎?JAVA的ClassLoader的機制跟PHP完全不一 05/26 15:30
→ LaPass: 樣啊.... 05/26 15:30
→ LaPass: JSP才有require之類的東東 05/26 15:32
→ GALINE: 是說 PSR-0 跟 PSR-4 05/26 15:47
推 Luos: 原來今年沒用php也進步了 05/26 16:35
→ RedMapleWing: 兩個連結我很下意識的點了第二個是… 05/26 17:10
推 carlcarl: 人生苦短 我用Python 05/26 20:33
推 fouring: 後端不會PHP是不是不行啊? 05/26 21:01
→ y3k: 就算現在 PHP一樣很容易寫出讓人看了覺得難過的東西 05/26 21:21
→ y3k: 前面的包袱太重了 05/26 21:21
推 crossdunk: 搭配FRAMEWORK就還好了吧 PHP的框架也進步很多呀 05/26 21:22
推 sabiya: 作者推的這兩聯結的作者都是Josh Lockhart,我目前也有使 05/26 22:36
→ sabiya: 他開發的micro web service framework,叫Slim Framework 05/26 22:37
→ sabiya: 是真的蠻好用的,推薦給需要撰寫restful web api的開發者 05/26 22:39
推 alog: 現在有lumen 05/26 22:44
推 angusyu: 清新好文 05/27 08:43
→ Ekmund: 文化大革命是失敗的吧=口= 05/27 08:54
→ Argos: 革命當然尚未成功 PHP同志們仍需努力 團結奮鬥救PHP 05/27 09:38
推 kenwufederer: 推一下PHP 05/27 09:49
推 et282523: 不同的時空背景有不同的作法啊,也不能說 include 一堆 05/27 10:19
→ et282523: 檔案就是錯誤的寫法吧?畢竟現在 php 的 autoload 也是 05/27 10:20
→ et282523: 在 __autoload 做 include ,只是不去翻看不到而以。 05/27 10:21
→ et282523: 當然 autoload 是優雅很多沒錯啦! 05/27 10:23
用古代的做法,我碰過的問題大概是這些
- 很容易重複載入同一個 lib,於是PHP就抱怨 class/function 定義重複
- 為了避免上一點,於是到處用 include_once,然後踩到效能問題
- 其實我覺得還好。不過認識的人說踩到效能問題過,解法是把 once 們拔掉....
- 每個 lib 組織檔案的方式都不同,所以 include 路徑看起來就五花八門...
- 不同的檔案結果取了同樣的的 function name,於是 PHP 噴 error
- 統一的 include 裡面什麼 lib 都 include 進來,連沒用到的功能也全部載進來
- 你看到某個 function,想改他的輸出值,但搜尋不到這個名字的 function
- 或是你會找到三個同名的 function,不知道該改哪個
PSR-0/PSR-4 相當程度的解決上面這些問題
composer 則是幫你把符合規範的 autoloader 寫好(好吧,其他語言是內建...)
當然上面這些用 include 的方式也不是不能解決,但是需要公司內有明確的規範
訂規範就不是純技術問題,需要政治力量(例如挺你的長官)介入...
而且就算有內規,3rd party lib 也不會照你的規則走
你換公司的時候也要重來一次
現在則是比較明確,「照PHP-FIG的規定走」,這是超越公司/組織的政治力。
不過 PHP 用以前的作法也完全可以動,現況就變成你要弄乾淨可以弄的很乾淨。
但你想弄髒也依然可以弄的很髒...
※ 編輯: GALINE (60.248.122.206), 05/27/2016 13:14:22
→ et282523: 同意,你解釋的好清楚啊,感覺學到了一些東西,感謝! 05/27 23:49
推 chan15: 推超級 PHP XD 05/28 15:40
推 JohnRoyer: 原 PO 請振作 XD 05/28 23:13
推 side112358: PHPConf Taiwan 2016會請到現代PHP的作者,歡迎來聽! 05/31 17:29
推 rickysu: 幫推 PHPConf Taiwan 2016... 06/01 09:31