[請益] 一些觀念釐清

看板PHP作者 (皮爺)時間13年前 (2012/02/13 23:37), 編輯推噓3(3018)
留言21則, 5人參與, 最新討論串1/4 (看更多)
跳進來寫PHP一小段時間 感覺很卡 = =" 從母語到之後玩過(是都皮毛)幾個語言,全都是物件導向的比較嚴格的語言 第一次覺得以前的習慣不能直接套用在新環境上 一些網路知識(跟網路有關的知識 不是網路上的知識)也不清不楚 我讀過HEAD FIRST 但還有很多疑問 第一個是值跟址的問題 請問通常狀況下有傳址這件事嗎? 我的前輩告訴我 通通當成全域變數來用就對了 真的是這樣嗎? 冏 如果我想寫一個類別 其實例要操作父容器(呼叫他的指令稿)的超全域變數 例如GET、SERVER等等 會遇到什麼問題? 我能不能直接傳遞整個GET陣列?如何做? 除此之外因為時常有解讀HTML的需求 我覺得HTML長的跟XML蠻像的...(對不起 不要揍我) 若直接把整個HTML頁面包成一個字串當XML讀 可行嗎? (使用PHP 4.X版本) 還有就是型別問題 這個也很頭大...我常常搞不清楚 假如我寫了一個函數(例如建構函數) 怎樣可以規定引數的型別嗎? 若是這個函數負責處理字串 丟布林進去也會被當成字串處理? 最後.. 有人沒學過C/C++ 後來直接摸PHP的嗎冏 哪些地方常摔能不能告訴我Q皿Q 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.123.154

02/14 00:25, , 1F
恩.. 我是寫C寫一段時間 應該要開發後台管理才碰PHP
02/14 00:25, 1F

02/14 00:26, , 2F
但是我PHP還是用很淺的寫法 而就程式語言來說應該要先學會
02/14 00:26, 2F

02/14 00:27, , 3F
結構子 之後學會創class 子層與父層間參數的交換
02/14 00:27, 3F

02/14 00:29, , 4F
接著是 postmessage handle m_hWnd _beginthread
02/14 00:29, 4F

02/14 00:30, , 5F
不過以上是MFC的寫法 不過還有某些概念是可以延伸的
02/14 00:30, 5F

02/14 00:38, , 6F
另外要學好"網路"的話 可以先裝Wireshark 封包攔截器
02/14 00:38, 6F

02/14 00:39, , 7F
然後試著用winsocket自己寫一個GET給page看能不能收到200OK
02/14 00:39, 7F

02/14 00:40, , 8F
如此你會非常熟悉什麼是UDP什麼是TCP 封包的包裝是怎樣的
02/14 00:40, 8F

02/14 15:16, , 9F
我覺得你把不清楚的地方一個一個拿出來問比較好
02/14 15:16, 9F

02/14 15:16, , 10F
這樣問有點籠統 也不好精確回答
02/14 15:16, 10F

02/14 18:15, , 11F
php data type 會自動轉換,基本上可以不用管 type def
02/14 18:15, 11F

02/14 18:17, , 12F
string "33"+"22",會自動變成 int 55
02/14 18:17, 12F

02/14 18:17, , 13F
雖然有時候會很困擾,但多數情況下算是方便
02/14 18:17, 13F
摁 比如 function A (String,String,int) function A (String,int,int) 沒有明顯型別限制的話怎麼區別它們呢? 我之前好像看過有人這樣寫 function X ($vara = '') 這樣是不是表示限制? 另外 $a = $b; 這時候a、b皆是指向同一個實體嗎? ↑這部分超搞混 更搞混的還有... 請問以下變數作用範圍是? {$a} function A(){$a} while(true){$a} 我知道一般寫在最外頭的變數好像強到可以跨過不同的指令稿 所以會讓多個頁面利用include同一指令稿的方式共用變數 但所謂的共用,這些變數是屬於同一個Request嗎? 比如有一組頁面 page_one.php page_two.php page_three.php 它們皆 include 一個 global.php,global.php 內含一個 $my_var 王小明透過瀏覽器觀看 page_one.php 陳小華透過瀏覽器觀看 page_two.php 假設兩個頁面會分別對 $my_var做操作,值會不同 那他們得到的 $my_var 結果會一樣嗎? 還是說共用僅止於小明本人? 問得很支離破碎抱歉...因為我也不是很清楚問題長什麼樣子,具體有哪些問題等等 如果清楚問題的話也許自己就可以解決了冏 ※ 編輯: p52189 來自: 114.42.225.45 (02/14 21:39)

02/14 21:49, , 14F

02/14 21:51, , 15F
喔!!這個太正點了!!謝謝!!
02/14 21:51, 15F

02/14 23:46, , 16F
A()這樣就重複宣告了,X()是給定預設值(萬一呼叫時沒傳參數)
02/14 23:46, 16F

02/14 23:48, , 17F
不同 client 的變數是分開的,因為是不同的 php thread
02/14 23:48, 17F

02/14 23:49, , 18F
不同 thread 的變數要互通,就要透過 shared memory
02/14 23:49, 18F

02/14 23:51, , 19F
變數的生命期,一般來說最長的是$_SESSION,然後才是global
02/14 23:51, 19F

02/14 23:53, , 20F
不過一般不會用 shared memory,難寫,透過資料庫比較簡單
02/14 23:53, 20F

02/15 07:31, , 21F
這樣講我就聽得懂了 感謝大家XD
02/15 07:31, 21F
文章代碼(AID): #1FEIuSKi (PHP)
討論串 (同標題文章)
文章代碼(AID): #1FEIuSKi (PHP)