新書終于來了,先看前言。本書提供PHP從入門到高手的各類知識,共4篇:
第一篇:基礎(chǔ)知識。介紹PHP及其環(huán)境搭建、開發(fā)工具,語言基礎(chǔ)、流程控制、字符串操作、數(shù)組、與WEB交互、與JavaScript交互、日期、時間等內(nèi)容,為以后奠定堅實基礎(chǔ)。
第二篇:核心技術(shù)。介紹Cookie、Session、圖形圖像處理、文件系統(tǒng)、面向?qū)ο蟆⒓用芗夹g(shù)、操作MySQL、phpMyAdmin圖形化管理工具、PDO數(shù)據(jù)庫抽象層、ThinkPHP框架等內(nèi)容。學(xué)完后能開發(fā)數(shù)據(jù)庫應(yīng)用程序和一些中小型熱點模塊。
第三篇:高級應(yīng)用。介紹Smarty模板技術(shù)、與XML、與Ajax等內(nèi)容。學(xué)完后可開發(fā)網(wǎng)絡(luò)程序。
第四篇:項目實戰(zhàn)。第一個項目通過Smarty模板技術(shù)、PDO數(shù)據(jù)庫抽象層、Ajax等主流技術(shù)實現(xiàn)一個大型完整的商務(wù)平臺,同時運用軟件工程設(shè)計思想,讓讀者學(xué)習(xí)如何進行網(wǎng)站實踐開發(fā)。第二個項目通過ThinkPHP框架開發(fā)一個導(dǎo)航網(wǎng),該項目運用軟工設(shè)計思想中最流行的MVC設(shè)計觀念,讀者學(xué)習(xí)后可了解網(wǎng)站導(dǎo)航開發(fā)流程,掌握ThinkPHP框架開發(fā)網(wǎng)站流程及常用技術(shù)。
第一章:初識PHP
PHP是一種服務(wù)器端HTML嵌入式腳本描述語言,最強大和重要的特性是跨平臺和面向?qū)ο?。本章簡單介紹PHP和PHP5新特性、PHP發(fā)展趨勢及學(xué)習(xí)方法,使讀者對PHP有一個整體了解。
1、什么是PHP:PHP獨特的語法混合了C、JAVA、PERL特點,尤其適合WEB開發(fā)。
2、語言優(yōu)勢:安全性高,是開源軟件,每個都可以看到源代碼,代碼與Apache編譯在一起的方式可以讓它具有靈活的安全設(shè)定,具有公認的安全性能;跨平臺性,支持Apache、Nginx、IIS等多種WEB服務(wù)器;支持廣泛數(shù)據(jù)庫,與MYSQL是目前最佳組合,組合可跨平臺運行;易學(xué)性;執(zhí)行速度快;免費;模板化,實現(xiàn)程序邏輯與界面分離;支持面向?qū)ο笈c過程,并可向下兼容;內(nèi)嵌Zend加速引擎,性能穩(wěn)快。
3、PHP5新特性:構(gòu)造函數(shù)、析構(gòu)函數(shù);對象的引用;對象的克?。粚ο笾杏腥N模式public\protected\private;接口interface;抽象類;_call;_set和_get;靜態(tài)成員。
4、如何學(xué)好:
5、學(xué)習(xí)資源:
5.1、常用開發(fā)工具:Dreamweaver\ZendStudio\PhpStorm\Notepad++\EditPlus等。
5.2、下載PHP用戶手冊:
5.3、常用網(wǎng)上資源:官網(wǎng)、技術(shù)論壇
第二章:PHP環(huán)境搭建和開發(fā)工具
本書以WampServer集成環(huán)境介紹PHP服務(wù)器的安裝、配置。
我的機器安裝失敗,先不管了,往下學(xué)。
第三章:PHP語言基礎(chǔ)
1、標(biāo)記風(fēng)格
XML風(fēng)格
<?php
echo "這是一個PHP";
?>
腳本風(fēng)格
<script language="php">
echo '...........';
</script>
簡短風(fēng)格
<? echo '............'; ?>
ASP風(fēng)格
<%
echo '...........';
%>
若需使用簡短和ASP風(fēng)格,需在php.ini中配置,打開該文件將short_open_tag和asp_tags設(shè)置為On,重啟Apache服務(wù)器即可。通常使用XML風(fēng)格。
2、注釋應(yīng)用
3、PHP數(shù)據(jù)類型
支持8種原始類型,包括4種標(biāo)量類型:boolean、integer、float/double、string;2種復(fù)合類型:array、object;2種特殊類型:resource、null。
說明:PHP中變量的類型通常不是由程序員設(shè)定的,是PHP根據(jù)該變量使用的上下文在運行時決定的。
3.1標(biāo)量數(shù)據(jù)類型:它是數(shù)據(jù)結(jié)構(gòu)中最基本的單元,只能存儲一個數(shù)據(jù)。包括4種:
boolean、string、integer、float
3.11、布爾型boolean:PHP中不只是只有FALSE才是假,特殊情況下0、00、“0”、空白字符串“”、只聲明但沒有賦值的數(shù)組等也認為是false。
PHP中美元符號$是變量的標(biāo)識符,所有變量都以$開頭,無論是聲明變量還是調(diào)用。
3.12、字符串型string:由數(shù)字、字母和符號組成,每個字符占一個字節(jié)。PHP中有三種字符串字義方式,分別是單引號、雙引號、定界符(<<<)。
單引號:
<?php
$a='this is string';
?>
雙引號:
<?php
$a="this is string";
?>
兩者不同之處:雙引號中的變量會自動被替換成實際數(shù)值,單引號中的變量則按普通字符串輸出。
定界符:不推薦使用,沒什么毛意思。
實例:
從上例可以看出什么?我是什么也沒看出來,實在看不出來單引號與雙引號的區(qū)別。但是本書建議在定義簡單的字符串時,使用單引號是一個更加合理的方式。原因是使用雙引號時,PHP將花費一些時間來處理字符串的轉(zhuǎn)義和變量的解析。
3.13、整型integer:數(shù)據(jù)類型只包含整數(shù),有效范圍-2147483648至+2147483647。若給定數(shù)值超過范圍按float型處理,這種情況叫整數(shù)溢出。同樣兩數(shù)相加超過范圍自動返回float型。
3.14、浮點型float:用來儲存數(shù)字,可包存小數(shù),有效范圍1.7E-308至17E+308,4.0版本前,浮點型標(biāo)識為double,兩者無區(qū)別。圓周率寫法實例:
哎,后兩種寫法出錯,這本書怎么回事。上例中可以看出 . 符號是連接字符串與變量的作用。
書中有段話很有意思:“注意:浮點型的數(shù)值只是一個近似值,所以要盡量避免用兩個浮點型數(shù)值比大小,結(jié)果往往是不準(zhǔn)確的?!?/div>
3.2復(fù)合數(shù)據(jù)類型:數(shù)組array和對象object
3.21數(shù)組array:一組數(shù)據(jù)的集合,把一系列數(shù)據(jù)組織起來形成一個可操作的整體。可以包括標(biāo)量數(shù)據(jù)、數(shù)組、對象、資源及PHP中支持的其它語法結(jié)構(gòu)等。數(shù)組中的每個數(shù)據(jù)稱為一個元素,元素包括索引(鍵名)和值兩部分。元素的索引可由數(shù)字或字符串組成,值可以是多種數(shù)據(jù)類型。格式如下:
$array=array('value1','value2'...);
或
$array[key]='value';
或
$array=array(key1=>value1,key2=>value2...);
來個實例試一下:
聲明數(shù)組后,數(shù)組中的元素還可自由更改。只要給數(shù)組賦值,數(shù)組會自動增加長度。
3.22對象object:編程語言所用到的方法有兩種,面向過程和面向?qū)ο螅赑HP中可自由使用這兩種方法。
3.3特殊數(shù)據(jù)類型:
3.31資源resource:資源類型是PHP4引進的,在使用資源時,系統(tǒng)會自動啟用垃圾回收機制,釋放不再使用的資源,避免內(nèi)存消耗殆盡。因此資源很少需要手工釋放。
3.32空值null:表示沒有為該變量設(shè)置任何值。不分大小寫null與NULL是一樣的,實例代碼:
上例看出isset()方法判斷變量是否被設(shè)置,如果設(shè)置返回true,反之返回false;is_null()方法正好相反,如果該變量沒有設(shè)置返回true,否則返回false;unset()方法用來銷毀指定的變量,從PHP4開始unset()函數(shù)不再返回值,所以不要試圖獲取或輸出unset()。
3.4數(shù)據(jù)類型轉(zhuǎn)換:雖然PHP是弱類型語言,但有時也會用到類型轉(zhuǎn)換。PHP類型轉(zhuǎn)換與C、JAVA一樣,只需在變量前加上用括號括起來的類型名稱即可。有幾點需要注意:轉(zhuǎn)換成boolean類型時,null、0和未賦值的變量或數(shù)組會被轉(zhuǎn)換成false,其它為true;轉(zhuǎn)換成整型時,false轉(zhuǎn)換為0,true轉(zhuǎn)換為1,浮點型的小數(shù)被舍去,字符型如果以數(shù)字開差就載取到非數(shù)字位,否則輸出0。
類型轉(zhuǎn)換有一個函數(shù)settype($string,數(shù)據(jù)類型),將指定變量轉(zhuǎn)換成指定數(shù)據(jù)類型,同時返回值,成功返回true,否則false??磦€實例,學(xué)習(xí)的過程中,不親自動手寫寫真的不行。
注意:使用(integer)str1轉(zhuǎn)型時,str1的自身值沒有變化;使用settype()函數(shù)時,str1的自身值被修改了。在實際應(yīng)用中,可根據(jù)情況自行選擇轉(zhuǎn)換方式。
3.5檢測數(shù)據(jù)類型:PHP內(nèi)置了檢測數(shù)據(jù)類型的系列函數(shù),可對不同類型的數(shù)據(jù)進行檢測,判斷是否屬于某個類型,屬于返回TRUE,否則返回FALSE。8個函數(shù),選is_numeric()試一下吧:
4、聲明和使用常量:常量是值不變的量,常量值被定義后,在腳本的任何地方都不能改變。聲明常量不能以數(shù)字作為首字母出現(xiàn)。PHP中使用define()函數(shù)來定義常量,語法如下:
define(string name,value,是否區(qū)分大小寫);
第一個參數(shù)是常量名稱,必選,可以是字符串或定義字符串的變量;第二個參數(shù)是常量值,必選;第三個參數(shù)可選,true表示不敏感。要判斷一個常量是否已定義,可使用defined()函數(shù),語法如下:
bool defined(name);
定義返回true,未定義返回false。
看實例:
使用defined()函數(shù)時,參數(shù)常量值記得加引號。是常量返回1,不是常量不返回值。
4.2預(yù)定義常量:PHP中可以使用預(yù)定義常量獲取PHP中的信息,參考相關(guān)資料,不作介紹了。上個實例:
5、PHP變量:PHP4開始引入了“引用賦值”。敲個實例吧:
<?php
$a='hello php';
$b=& $a;
$a='hi php';
echo $a;
echo $b;
?>
上面代碼輸出$a和$b的值是一樣的。
5.2變量作用域:分三種,局部變量、全部變量、靜態(tài)變量。這里要說的是全局變量,跟其它語言不太一樣,全局變量在函數(shù)內(nèi)部使用時要使用global關(guān)鍵字聲明。
<?php
$a='php';
function cc(){
$b='hello';
echo $b;
global $a;
echo $a;
}
?>
再上個靜態(tài)變量的例子:
上例看出,靜態(tài)變量的初始化只在第一次時被執(zhí)行,以后就不再對其進行初始化操作了。
5.3可變變量:這個東東以后感覺有用了再來說
5.4PHP預(yù)定義變量:PHP提供了一些很實用的預(yù)定義變量,可通過這些獲取用戶會話、操作系統(tǒng)和本地系統(tǒng)的環(huán)境信息。常用的可參考相關(guān)資料
6、PHP的運算符:包括算術(shù)運算符、字符串運算符、賦值運算符、位運算符、邏輯運算符、比較運算符、遞增、增減運算符和條件運算符。本節(jié)只介紹一些常用的:
6.1算術(shù)運算符:+-*/%
6.2字符串運算符:只有一個英文句號,表示將兩個字符連接起來。
6.3賦值運算符:有7個:賦值=,加+=,減-=,乘*=,除/=,連接字符.=,取余數(shù)%=
6.4遞增、遞減運算符:
6.5位運算符:
6.6邏輯運算符:4個。邏輯與(&&或and),邏輯或(||或or),邏輯非(!),邏輯異或(xor,即當(dāng)前、后一真一假時返回true);
6.7比較運算符:多了===、!==,恒等和非恒等。
6.8條件運算符:?: 也稱三目運算符,實例如下:
6.9運算符的優(yōu)先級:遵循原則:優(yōu)先高的運算先執(zhí)行,優(yōu)先級低的操作后執(zhí)行,同級操作按照從左到右的順序執(zhí)行。
7、PHP的表達式:
8、PHP函數(shù):函數(shù)就是將一些能夠重復(fù)使用的代碼寫到一個獨立的代碼塊中,在需要時單獨調(diào)用。語法格式為:
function fun_name($str1,$str2...){
fun_body;
}
8.1定義和調(diào)用函數(shù)
8.2函數(shù)間傳遞參數(shù):傳遞方式有3種,按值傳遞、按引用傳遞和默認參數(shù)。
按值傳遞方式:即將實參復(fù)制到對應(yīng)的形參中,在函數(shù)內(nèi)部針對形參進行,操作的結(jié)果不影響實參。這個很常見,不舉例了。
按引用傳遞方式:引用傳遞是將實參的內(nèi)存地址傳遞到形象中,這樣在函數(shù)內(nèi)部對形象的操作將影響到實參的值。引用傳遞方式就是傳值時在原基礎(chǔ)上加&即可。來個例子:
默認參數(shù)方式:即可選參數(shù)。需要注意的是當(dāng)有多個參數(shù)時,可選的參數(shù)必須放在右邊,否則容易出錯。實例:
書上有個說明:PHP5開始,默認參數(shù)也可以通過引用傳遞。意思就是:如果默認參數(shù)是一個引用,那么有實參的話,默認的形參值跟隨實參改變。
8.3從函數(shù)中返回值:通過返回值的方式是使用關(guān)鍵字 return。但如果是在全局作用域內(nèi)使用return,那么將終止腳本的執(zhí)行。
8.4變量函數(shù):意義不大,不說了。
8.5編碼規(guī)范:這個也不多說
9、PHP書寫規(guī)則:
9.3命名規(guī)則:
類命名:1、使用大字母作為單詞分隔;2、名字的首字母使用大寫;3、不使用下劃線;
類屬性命名:1、屬性名應(yīng)以字母m為前綴;2、前綴m后使用規(guī)則與類名一致;
方法命名:基本與類名一致
方法中參數(shù)命名:1、第一個字符使用小寫;2、首字符后的所有字符同類命名;
變量命名:1、所有字母小寫;2、使用下劃線分隔單詞;
引用變量:須帶有r作前綴
全局變量:使用g作前綴
常量/全局常量:全部大寫,使用下劃線分隔單詞
靜態(tài)變量:帶前綴s
函數(shù)命名:使用小寫字母,使用下劃線分隔單詞
好了,至此前三章看完了。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。