作者p52189 (皮爺)
看板PHP
標題[請益] 一些觀念釐清
時間Mon Feb 13 23:36:57 2012
跳進來寫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
1F:推 whatai:恩.. 我是寫C寫一段時間 應該要開發後台管理才碰PHP 02/14 00:25
2F:→ whatai:但是我PHP還是用很淺的寫法 而就程式語言來說應該要先學會 02/14 00:26
3F:→ whatai:結構子 之後學會創class 子層與父層間參數的交換 02/14 00:27
4F:→ whatai:接著是 postmessage handle m_hWnd _beginthread 02/14 00:29
5F:→ whatai:不過以上是MFC的寫法 不過還有某些概念是可以延伸的 02/14 00:30
6F:推 whatai:另外要學好"網路"的話 可以先裝Wireshark 封包攔截器 02/14 00:38
7F:→ whatai:然後試著用winsocket自己寫一個GET給page看能不能收到200OK 02/14 00:39
8F:→ whatai:如此你會非常熟悉什麼是UDP什麼是TCP 封包的包裝是怎樣的 02/14 00:40
9F:推 chchwy:我覺得你把不清楚的地方一個一個拿出來問比較好 02/14 15:16
10F:→ chchwy:這樣問有點籠統 也不好精確回答 02/14 15:16
11F:→ tyf99:php data type 會自動轉換,基本上可以不用管 type def 02/14 18:15
12F:→ tyf99:string "33"+"22",會自動變成 int 55 02/14 18:17
13F:→ tyf99:雖然有時候會很困擾,但多數情況下算是方便 02/14 18:17
摁
比如
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)
15F:→ p52189:喔!!這個太正點了!!謝謝!! 02/14 21:51
16F:→ tyf99:A()這樣就重複宣告了,X()是給定預設值(萬一呼叫時沒傳參數) 02/14 23:46
17F:→ tyf99:不同 client 的變數是分開的,因為是不同的 php thread 02/14 23:48
18F:→ tyf99:不同 thread 的變數要互通,就要透過 shared memory 02/14 23:49
19F:→ tyf99:變數的生命期,一般來說最長的是$_SESSION,然後才是global 02/14 23:51
20F:→ tyf99:不過一般不會用 shared memory,難寫,透過資料庫比較簡單 02/14 23:53
21F:→ p52189:這樣講我就聽得懂了 感謝大家XD 02/15 07:31