Re: [心得] 學了一陣子 PHP 之後

看板PHP作者 (吹笛牧童)時間17年前 (2008/07/24 20:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
※ 引述《ronmi (Love.みけ)》之銘言: : 你的同事想必對C的十分的熟悉吧 : 選擇自已習慣的東西去做事,是人之常情 : 棄php選perl則是辦公室現實上的方便 : 如此而已,不用想那麼多:) 我接受這個講法 不過大量使用 perl 的同事是同時熟 perl & php 的 :P 這使我比較會參考他的想法 大家都在比彈性的 比如,他其實很熟 linux,很愛命令列 但我們只熟 win os,他一樣找了一堆 win tool 給我們用 所以比如 putty,winscp,我們都用了 一時心血來潮 google 'perl php' 找到一堆文章 原來 php 是'大量採用 C & Perl 語法' 如果是這樣,那認為它是進化並無不可,就用 PHP 吧~ 就好像我其實把 C 當 Pascal 用 兩者都有學之下,我看到兩者的特性在混合了 #define,前置處理器,造成 C 強大的可攜性 但 Turbo Pascal 也有了它 既然兩者那麼相近,那就不用去區分,只是手上拿到什麼,順手就用 寫 BCB 時,它核心函式庫是 delphi,也是種 Pascal 那時我都很努力的跨兩種語言 :) 有一段話,"PHP 沒有命名空間,必需努力避免模塊的名稱衝突" 這就是語言特性的考量了,和所謂'目前沒有對應函式庫'的層次不一樣 畢竟函式庫可以再寫出來 雖然命名時可以用模組名等等前飾,但可讀性就漸漸消失 double dbAdd(double a,double b); float fAdd(float a,float b); int iAdd(int a,int b); 以上是不能憑型別多載前的 C,可以多載的 C++ 可以表達成函式名全都是 ADD 這就是語言工具的根本差異,而不是函式庫支援與否的差異 我想所謂'命名空間',應該是指 namespace 吧? 如果沒有這個,所有函式生而平等 那真的要很努力避 不過 class 事實上就是一種 namespace 所以我想這個缺點大概是指沒支援 class 之前的 PHP,現在已被改進了 再來是我在合併 Cake & PhpBB 兩個專案時的問題 全域變數用太多,如果在同一個 session 裏就會衝全域變數 這也類似於'模塊內的名稱衝突' 這應該真的是個問題,當我引入兩個專案時不能當黑盒子用 必需真的爬進去了解內容 (註) 慘的是我們 PM 是理工出身,也寫過 PhpBB 當時我東西改不出來,他就一句'那不是改 page_header.php 嗎?' ...對 那意思是我做不出來在混什麼 只好一加班就到早上五點了 想想我們之間有點不同 因為我寫程式,是掌握 source code,公司機密 回家就不能寫 (無法和 CVS 互動) 但他的商業決策是回家可以做的 所以我半夜兩點收到他的需求,感覺他好認真,只好拼了 但可能他是在家,我是在公司呀 *_* (還沒洗澡,也沒宵夜) 有些地方他需被體諒,有些地方我需被體諒 所以我們一直在互動,打造公司內的制度.. 註: 本來我們就打算把 PhpBB 當黑盒子用,修改極少而馬上上線 所以 user account 的做法,一個是完全了解後,PhpBB 去參考 Cake 端的登入 共用 DB 但我們想出另一個方法,就是 Cake 端一註冊,就同步去註冊 PhpBB 端 這樣就可以有兩個獨立的模組,雖然浪費 DB 但可以用更短的時間產出成品 不過事實上,我現在對 PhpBB 愈來愈了解,已經幾乎是由 Cake 端取出帳號來用了 ~^_^~ 不然有一個 BUG 很難解: Cake 端登入,但 PhpBB 端在關閉 IE 後就自動登出,形成兩邊不同步 這問題發生時我就漸漸把兩邊的帳號 DB 給融合了 :P 現在運作得還不錯 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.65.16 ※ 編輯: HuangJC 來自: 61.219.65.16 (07/24 20:53)

07/24 22:13, , 1F
聽說,php5.3就會把namespace弄進來了 :)
07/24 22:13, 1F
文章代碼(AID): #18Y7hHik (PHP)
討論串 (同標題文章)
文章代碼(AID): #18Y7hHik (PHP)