鏡天湖
在強(qiáng)類型編程語言中,有專用的數(shù)據(jù)結(jié)構(gòu)解決方案。通常是創(chuàng)建一個(gè)容器,在這個(gè)容器中可以存儲(chǔ)任意類型的數(shù)據(jù),并且可以根據(jù)容器中存儲(chǔ)的數(shù)據(jù)決定容器的容量,打到可以變長(zhǎng)的容器結(jié)構(gòu),比如鏈表、堆棧和隊(duì)列等都是數(shù)據(jù)結(jié)構(gòu)中常用的形式。在PHP中,通常都是使用數(shù)組來完成其它語言使用數(shù)據(jù)結(jié)構(gòu)才能完成的工作。
吞滅業(yè)天
我沒學(xué)過PHP不過我的理解是,將右邊的值或語句賦值給左邊也就是執(zhí)行(右邊的語句)
姜雪君
模型是倉庫管理員,視圖門店,控制器可以是售貨員模型(model)-視圖(view)-控制器(controller)Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分。通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。Controller(控制器)是應(yīng)用程序中處理用戶交互的部分。通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。
淫人喪命
提供以下供參考:1、代碼的功能是完成對(duì)從 1 到 10 的10個(gè)數(shù)值累加之和計(jì)算。2、$num = $num+$i;這句代碼,可能初次接觸不好理解??梢圆殚喴幌?php 語言的操作符優(yōu)先級(jí),根據(jù)這個(gè)來理解:從操作優(yōu)先級(jí)表可以看到 = 是賦值運(yùn)算符,其優(yōu)先級(jí)比 + 運(yùn)算符要低,所以,先算 $num+$i,得出結(jié)果后再賦值給 $num。
小金女
正確理解PHP的錯(cuò)誤信息 我們編寫程序時(shí),無論怎樣小心謹(jǐn)慎,犯錯(cuò)總是在所難免的。這些錯(cuò)誤通常會(huì)迷惑PHP編譯器。如果開發(fā)人員無法了解編譯器報(bào)錯(cuò)信息的含義,那么這些錯(cuò)誤信息不僅毫無用處,還會(huì)常常讓人感到沮喪。 編譯PHP腳本時(shí),PHP編譯器會(huì)盡其所能報(bào)告它遇到的第一個(gè)問題。這樣就產(chǎn)生一個(gè)問題:只有當(dāng)錯(cuò)誤出現(xiàn)時(shí),PHP才能將它識(shí)別出來(本文后面對(duì)此問題進(jìn)行了詳細(xì)描述)。正是由于這個(gè)緣故,編譯器指出出錯(cuò)的那行,從表面上看來可能語法正確無誤,或者可能是根本就不存在的一行! 更好地理解錯(cuò)誤信息可以大大節(jié)省確定并改正錯(cuò)誤內(nèi)容所花費(fèi)的時(shí)間。因此,在本文中,我將努力闡明多種不同類型的PHP報(bào)錯(cuò)信息,以及在開發(fā)過程中如何正確理解各種報(bào)錯(cuò)信息的含義?! ”疚闹兴v述的內(nèi)容與您所應(yīng)用的PHP的版本無關(guān),因?yàn)楸疚乃枋龅母鞣N錯(cuò)誤并不限定于某一特殊版本的特定錯(cuò)誤。另外我們假定您是一位初級(jí)或者中級(jí)程序員,并已經(jīng)從事編程工作有半年或一年的時(shí)間。 編譯器的工作方式 要搞清楚編譯器為什么會(huì)報(bào)告某一行上存在錯(cuò)誤,首先必須明確編譯器解析PHP代碼的機(jī)制。我并不打算在本文中對(duì)此進(jìn)行詳細(xì)論述,但是,我們將會(huì)討論一些更易于引發(fā)錯(cuò)誤的簡(jiǎn)單概念?! ∽兞柯暶鳌 ∪绻谝粭l語句中聲明一個(gè)變量,具體方式如下所示: $variable = 'value'; 編譯器首先求出語句右半部分的值(即等號(hào)右邊的所有內(nèi)容)。在一些編程書籍中,將此表示為語句的 RHS (右半部分)。恰恰正是語句的這一部分常常會(huì)引發(fā)錯(cuò)誤。如果使用的語法不正確,就會(huì)出現(xiàn)解析錯(cuò)誤?! 〗馕鲥e(cuò)誤 Parse error:解析錯(cuò)誤,unexpected T_WHILE in c:program filesapache groupapachehtdocsscript.php on line 19 每次確定了前一錯(cuò)誤時(shí),解析錯(cuò)誤一個(gè)接一個(gè)地不斷出現(xiàn)。因?yàn)镻HP在第一個(gè)解析錯(cuò)誤之后就停止執(zhí)行腳本,調(diào)試并糾正這一系列的錯(cuò)誤往往會(huì)讓人覺得特別厭煩?! 《?,解析錯(cuò)誤具有很少的信息,幾乎不報(bào)告錯(cuò)誤所在的行號(hào)。具體原因就是當(dāng)出現(xiàn)錯(cuò)誤時(shí),編譯器判定好幾行的語法看起來應(yīng)該是有效的,直至遇到無效的語法,最可能的情形就是表達(dá)式中使用了預(yù)定義的字詞,例如; while = 10; // Bad ? while 就是一個(gè)預(yù)定義字詞,不能分配給一個(gè)值 預(yù)定義的字詞包括 while、function等,如果PHP使用 uses to evaluate your code. 您不能使用這些預(yù)定義字詞來命名變量,而且如果您非要這樣做的話,PHP就會(huì)報(bào)出的錯(cuò)誤,這是您無法忍受?! £P(guān)于這個(gè)問題,下面的示例可能會(huì)對(duì)您有所幫助。請(qǐng)咨詢閱讀一下下面所示的PHP 代碼: $b = "somevalue" if($b == "somevalue"){ print "Hello world!"; } ?> 錯(cuò)誤位于"$b ="一行(在語句的末端缺少分號(hào)),所以錯(cuò)誤應(yīng)該是"解析錯(cuò)誤:第3行缺少分號(hào)"對(duì)吧?而不應(yīng)該依據(jù)解析器判定的: Parse error: parse error, unexpected T_IF in c:program filesapache groupapachehtdocsereg2.php on line 4 在第4行,if() 語句的語法是正確的。那么,編譯器是被什么給搞糊涂了呢?線索就是"unexpected T_IF" 部分。出現(xiàn) "unexpected T_???"錯(cuò)誤時(shí),它所表示的含義為:編譯器發(fā)現(xiàn)在預(yù)定義字不應(yīng)該出現(xiàn)的位置出現(xiàn)。T_IF 代表 if(), T_WHILE 代表 while(), T_FOR 代表 for()等?! ≈档脩c幸的是,一些錯(cuò)誤的原因也很簡(jiǎn)單: 語句沒有使用分號(hào)(;)結(jié)束,比如上面的示例。字符串中缺少引號(hào)?! ∑渌恍┏R姷腻e(cuò)誤 我見過的最常見的錯(cuò)誤就是,當(dāng)沒有使用大括號(hào)( } )結(jié)束一個(gè)函數(shù)或者一個(gè)循環(huán)時(shí)出現(xiàn)的錯(cuò)誤,這很可能是最常見,最讓人煩的錯(cuò)誤。具體代碼如下: function UselessFunction() { for($i < 0; $i < 10; $i++){ } 將產(chǎn)生下列錯(cuò)誤: Parse error: parse error, unexpected $ in c:program filesapache groupapachehtdocsereg2.php on line 9 由于函數(shù) UselessFunction 沒有使用大括號(hào)( } )來結(jié)束,PHP編譯器不斷查找表示結(jié)束的大括號(hào)直至到達(dá)文件末尾為止。因?yàn)榫幾g器未找到一個(gè)匹配的大括號(hào),就會(huì)報(bào)告文件末尾處有錯(cuò)誤?! ∪绻_地反映了代碼的層次結(jié)構(gòu),錯(cuò)誤信息就會(huì)變得非常明顯。如果沒有標(biāo)明代碼的層次結(jié)構(gòu),那么最后要想查清楚到底忘記了什么也會(huì)變得幾乎是不可能的。所以,請(qǐng)記住,一定要標(biāo)明代碼的層次結(jié)構(gòu)。Tab鍵可以很容易地實(shí)現(xiàn)這一點(diǎn)。對(duì)后續(xù)的開發(fā)人員來說,把握代碼框架并對(duì)其進(jìn)行修改也會(huì)更容易一些?! ySQL 錯(cuò)誤 另一極其令人討厭的錯(cuò)誤信息就是最常見的MySQL錯(cuò)誤,這常常使 PHP新手感到頗為頭疼: Warning: Supplied argument is not a valid MySQL result resource in... 上面所報(bào)告有錯(cuò)的一行可能是: while($row = mysql_fetch_array($result)) { 參數(shù) $result并不是一個(gè)有效的資源。在英語中它表示因?yàn)椴樵兪?,將無法處理mysql_fetch_array。任一查詢的語法無效(您應(yīng)該將查詢復(fù)制-粘貼到MySQL 控制臺(tái)參考來進(jìn)行測(cè)試),或者與數(shù)據(jù)庫的連接失敗(這種情況下您應(yīng)該再次檢查用戶名和口令等)。 防止錯(cuò)誤發(fā)生 第一步,智能代碼器可采取以下幾步來消除下列錯(cuò)誤出現(xiàn): · 在每一條語句的末尾處,不必考慮添加分號(hào)——這應(yīng)該成為一種習(xí)慣。 · 總是要盡可能標(biāo)明代碼的層次結(jié)構(gòu),這可以使您能夠查看是否忘記在if 調(diào)用或函數(shù)末端等位置添加大括號(hào)?! ?請(qǐng)使用可突出顯示語法的編輯器(如 HTML-Kit)。有了這類編輯器的輔助,您就能確定是否忘記了添加引號(hào),是否缺少分號(hào)等。 結(jié)論 本文我們對(duì)PHP編譯器可報(bào)出的一些看起來可能沒有什么意義的錯(cuò)誤有了一定的了解。我們需要將所學(xué)的知識(shí)應(yīng)用到如何避免錯(cuò)誤以及錯(cuò)誤出現(xiàn)時(shí)如何糾正錯(cuò)誤。調(diào)試是一個(gè)開發(fā)人員所有工作中的最重要的部分之一。提高調(diào)試效率可大大加快整個(gè)工作的進(jìn)度,縮短完成一項(xiàng)工程所需花費(fèi)的時(shí)間,同時(shí)還可以明顯減輕代碼失敗所帶來的精神壓力。
四妙仙娘
新建類類php經(jīng)用$this指前類$foo前類名所等價(jià)寫類要想使用該必須新建類$foo = new foo();要使用該面函數(shù)$foo->foo();//$foo新建類句柄foo()類面函數(shù)
殺戒
比如你一臺(tái)電腦想同時(shí)當(dāng)做兩個(gè)域名的服務(wù)器且兩個(gè)域名顯示的不一樣那就需要配置虛擬主機(jī)多站點(diǎn)了
蜀山劍派
我的理解說一個(gè)人養(yǎng)了一只小狗(定義一個(gè)對(duì)象),把狗牽過來,擺在面前,讓它確實(shí)存在(實(shí)例化)。類,就是類別。人是一類,狗是一類。屬性就是人的特點(diǎn),長(zhǎng)頭發(fā)、白皮膚、黑眼珠。方法就是人會(huì)唱歌、會(huì)說話、會(huì)跑步跳躍等各種行為。對(duì)象,就是類里面的一個(gè)個(gè)體。人類中的每一個(gè)人都是一個(gè)對(duì)象
女神嬰
PHP獨(dú)特的開源、免費(fèi)、易學(xué)、適用的語言特點(diǎn)展現(xiàn)出強(qiáng)大的應(yīng)用空間和魅力,php軟件開發(fā)工程師的需求呈現(xiàn)出高薪難求、供不應(yīng)求的市場(chǎng)局面!學(xué)習(xí)PHP推薦業(yè)內(nèi)口碑機(jī)構(gòu)千鋒,他們的教學(xué)理念是移動(dòng)、PC兩手抓,解決目前國(guó)內(nèi)培訓(xùn)機(jī)構(gòu)PHP學(xué)員與企業(yè)需求人才的差距問題,一舉改變PHP行業(yè)程序員勢(shì)微現(xiàn)狀!目標(biāo)15000!