PHP 7從入門到精通(視頻教學版)(第2版)

張工廠、劉玉萍、羅晨

  • 出版商: 清華大學
  • 出版日期: 2019-01-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 裝訂: 平裝
  • ISBN: 7302517282
  • ISBN-13: 9787302517283
  • 相關分類: PHP
  • 已絕版

買這商品的人也買了...

商品描述

PHP是一種流行的通用腳本語言,特別適合Web開發。PHP快速、靈活、務實,廣泛運用在大中小型網站的開發上。
本書以零基礎講解為宗旨,以PHP 7為藍本,用實例引導讀者深入學習PHP編程的各項技術及實戰技能。本書還講解PHP與Web、XML、Ajax、MySQL、Zend、ThinkPHP框架等技術的交互方法,方便讀者全面了解PHP 7編程技術。最後還給出兩個實戰案例,提高讀者的項目開發能力。
本書適合任何想學習PHP的人員,無論你是否從事計算機相關行業,是否接觸過PHP,通過本書的學習均可快速、全面地掌握PHP開發方法和技巧。

作者簡介

作者:張工廠

技術總監,技術主攻方向為PHP軟件開發和MySQL數據庫,具有很強的實戰經驗。長期從事PHP、MySQL的外包服務,熟悉流行的電子商務應用規則,熟悉技術應用方案與方向。對PHP、MySQL系統有較為廣泛與深入的認識。出版圖書《PHP5.5從零開始學》《MySQL技術精粹》《PHP+MySQL動態網站開發從入門到精通》等書。

目錄大綱

目錄


第1章初識PHP 1 
1.1 PHP的來龍去脈1 
1.1.1 PHP的概念1 
1.1.2 PHP的發展歷程2 
1.1.3 PHP的優勢2 
1.2 PHP能幹什麼3 
1.3 PHP 7的新特點4 
1.4 PHP常用開發工具6 
1.4.1 PHP代碼開發工具6 
1.4.2網頁設計工具7 
1.4.3文本編輯工具7 
1.5高手甜點8 


第2章PHP 7服務器環境配置9 
2.1 PHP服務器概述9 
2.2安裝PHP 7前的準備工作10 
2.2.1軟硬件環境10 
2.2.2獲取PHP 7安裝資源包10 
2.3 PHP 7+IIS服務器安裝配置12 
2.3.1 IIS簡介及其安裝12 
2.3.2 PHP的安裝13 
2.3.3虛擬目錄的設置16 
2.4 PHP 7+Apache服務器的環境搭建18 
2.4.1 Apache簡介18 
2.4.2關閉原有的網站服務器18 
2.4.3安裝Apache 19 
2.4.4將PHP與Apache建立關聯19 
2.5新手的福音—PHP環境的集成軟件21
2.6實戰演練——我的第一個PHP程序23 
2.7高手甜點24 


第3章PHP的基本語法26 
3.1 PHP 7的標記風格26 
3.2編碼規範27 
3.2.1什麼是編碼規範27 
3.2.2 PHP中的編碼規範28 
3.3常量29 
3.3.1聲明和使用常量30 
3.3.2內置常量30 
3.4變量32 
3.4.1 PHP中的變量聲明32 
3.4.2可變變量與變量的引用33 
3.4.3變量作用域34 
3.4.4變量的銷毀38 
3.5數據類型39 
3.5.1什麼是類型39 
3.5.2整型39 
3.5.3浮點型40 
3.5.4布爾型40 
3.5.5字符串型40 
3.5.6數組型41 
3.5.7對象型43 
3.5.8 NULL型43 
3.5.9資源類型44 
3.5.10數據類型之間的相互轉換44 
3.6 PHP 7的新變化1——整型處理機制的修改45 
3.7 PHP 7的新變化2——標量類型的聲明45 
3.8運算符47 
3.8.1算術運算符47
3.8.2字符串運算符48 
3.8.3賦值運算符48 
3.8.4比較運算符48 
3.8.5邏輯運算符50 
3.8.6按位運算符50 
3.8.7否定控制運算符51 
3.8.8錯誤控制運算符51 
3.8.9三元運算符52 
3.8.10運算符的優先級和結合規則52 
3.9 PHP 7的新變化3——合併運算符和組合運算符53 
3.10表達式54 
3.11實戰演練—創建二維數組54 
3.12高手甜點55 


第4章PHP的語言結構57 
4.1內置函數57 
4.2自定義函數58 
4.2.1自定義和調用函數58 
4.2.2向函數傳遞參數值59 
4.2.3向函數傳遞參數引用59 
4.2.4從函數中返回值60 
4.2.5對函數的引用61 
4.2.6對函數取消引用62 
4.3 PHP 7的新變化1——聲明函數返回值的類型62 
4.4 PHP 7的新變化2— —新增intdiv()函數63 
4.5 PHP 7的新變化3——括號在變量或函數中變化64 
4.6 PHP 7的新變化4——參數處理機制的修改65 
4.7包含文件66
4.7.1 require和include 66 
4.7.2 include_once和require_once 67 
4.8流程控制68 
4.8.1條件控制結構68 
4.8.2循環控制結構72 
4.9實戰演練1—條件分支結構綜合應用79 
4.10實戰演練2—循環控制結構綜合應用81 
4.11高手甜點82 


第5章字符串和正則表達式83 
5.1字符串的單引號和雙引號83 
5.2字符串的連接符85 
5.3字符串的基本操作86 
5.3.1手動和自動轉義字符串中的字符86 
5.3.2計算字符串的長度86 
5.3.3字符串單詞統計87 
5.3.4清理字符串中的空格88 
5.3.5字符串的切分與組合89 
5.3.6字符串子串的截取89 
5.3.7字符串子串替換91 
5.3.8字符串查找91 
5.3.9大小寫轉換92 
5.4 PHP 7的新變化——字符串處理機制的修改93 
5.5什麼是正則表達式94 
5.6正則表達式的語法規則94 
5.7實戰演練—創建酒店系統在線訂房表99 
5.8高手甜點102 


第6章PHP數組103 
6.1什麼是數組103
6.2數組的類型104 
6.2.1數字索引數組104 
6.2.2關聯索引數組105 
6.3 PHP 7的新變化1——常量數組106 
6.4數組構造106 
6.4.1一維數組106 
6.4.2多維數組107 
6.5遍歷數組109 
6.5.1遍歷一維數字索引數組109 
6.5.2遍歷一維聯合索引數組109 
6.5.3遍歷多維數組111 
6.6數組排序112 
6.6.1一維數組排序112 
6.6.2多維數組排序113 
6.7字符串與數組的轉換115 
6.8向數組中添加和刪除元素115 
6.8.1向數組中添加元素115 
6.8.2從數組中刪除元素117 
6.9查詢數組中的指定元素118 
6.10統計數組元素個數120 
6.11刪除數組中的重複元素121 
6.12調換數組中的鍵值和元素值122 
6.13 PHP 7的新變化2——自動創建元素的順序的改變123 
6.14 PHP 7的新變化3——list()函數修改數組的改變124 
6.15 PHP 7的新變化4——foreach()函數修改數組的改變126 
6.16實戰演練—序列化和反序列化128
6.17高手甜點129 


第7章時間和日期130 
7.1系統時區設置130 
7.1.1時區劃分130 
7.1.2時區設置131 
7.2 PHP日期和時間函數131 
7.2.1關於UNIX時間戳131 
7.2.2獲取當前時間戳131 
7.2.3獲取當前日期和時間132 
7.2.4使用時間戳獲取日期信息133 
7.2.5檢驗日期的有效性135 
7.2.6輸出格式化時間戳的日期和時間136 
7.2.7顯示本地化的日期和時間137 
7.2.8將日期和時間解析為UNIX時間戳138 
7.2.9日期和時間在PHP和MySQL數據格式之間的轉換139 
7.3實戰演練1——比較兩個時間的大小139 
7.4實戰演練2 ——實現倒計時功能140 
7.5高手甜點140 


第8章面向對象編程142 
8.1類和對象的介紹142 
8.2 PHP中類的操作143 
8.2.1類的聲明143 
8.2.2成員屬性144 
8.2.3成員方法144 
8.2.4類的實例化144 
8.2.5訪問類中的成員屬性和方法145 
8.3構造方法和析構方法147 
8.4訪問方法149
8.5類的繼承150 
8.6高級特性151 
8.6.1靜態屬性和方法151 
8.6.2 final類和方法152 
8.7抽像類和接口153 
8.7.1抽像類153 
8.7.2接口154 
8.8面向對象的多態性156 
8.8.1通過繼承實現多態156 
8.8.2通過接口實現多態157 
8.9 PHP 7的新變化——支持匿名類158 
8.10高手甜點159 


第9章錯誤處理和異常處理160 
9.1常見的錯誤和異常160 
9.2錯誤處理163 
9.2.1 php.ini中的錯誤處理機制163 
9.2.2應用DIE語句調試164 
9.2.3自定義錯誤和錯誤觸發器165 
9.2.4錯誤記錄168 
9.3異常處理169 
9.3.1異常的基本處理方法169 
9.3.2自定義的異常處理器171 
9.3.3處理多個異常172 
9.3.4設置頂層異常處理器173 
9.4 PHP 7的新變化1——改變了錯誤的報告方式174 
9.5 PHP 7的新變化2——清除最後一次錯誤175 
9.6實戰演練—處理異常或錯誤175 
9.7高手甜點176


第10章PHP與Web頁面交互178 
10.1使用動態內容178 
10.2表單與PHP 179 
10.3表單設計180 
10.3.1表單的基本結構180 
10.3.2文本框180 
10.3.3選項框181 
10.3.4單選按鈕183 
10.3.5下拉列表184 
10.3.6重置按鈕186 
10.3.7提交按鈕186 
10.4傳遞數據的兩種方法189 
10.4.1用POST方式傳遞數據189 
10.4.2用GET方式傳遞數據189 
10.5 PHP獲取表單傳遞數據的方法190 
10.6 PHP對URL傳遞的參數進行編碼190 
10.7實戰演練——PHP與Web表單的綜合應用191 
10.8高手甜點193 


第11章文件與目錄操作194 
11.1文件操作194 
11.1.1文件數據的寫入194 
11.1.2文件數據的讀取197 
11.2目錄操作199 
11.3文件的上傳203 
11.3.1全局變量$_FILES 203 
11.3.2文件上傳204 
11.4實戰演練—編寫文本類型的訪客計算器206 
11.5高手甜點207


第12章圖形圖像處理208 
12.1在PHP中加載GD庫208 
12.2圖形圖像的典型應用案例210 
12.2.1創建一個簡單的圖像210 
12.2.2使用GD2函數在照片上添加文字212 
12.2.3使用TrueType字體處理中文生成圖片213 
12.3 JpGraph庫的使用215 
12.3.1 JpGraph的安裝215 
12.3.2 JpGraph的配置216 
12.4製作圓形統計圖217 
11.5實戰演練—製作3D餅形統計圖219 
12.6高手甜點220 


第13章Cookie和會話管理222 
13.1 Cookie的基本操作222 
13.1.1什麼是Cookie 222 
13.1.2創建Cookie 223 
13.1.3讀取Cookie 223 
13.1.4刪除Cookie 224 
13.2認識Session 226 
13.2.1什麼是Session 226 
13.2. 2 Session的基本功能226 
13.2.3 Cookie與Session 226 
13.2.4在Cookie或URL中存儲SessionID 226 
13.3會話管理227 
13.3.1創建會話227
13.3.2註冊會話變量228 
13.3.3使用會話變量228 
13.3.4註銷和銷毀會話變量229 
13.4實戰演練—會話管理的綜合應用229 
13.5高手甜點230 


第14章MySQL數據庫基礎232 
14.1 Windows平台下安裝與配置MySQL 232 
14.1.1安裝MySQL 5.7 232 
14.1.2配置MySQL 5.7 236 
14.2啟動服務並登錄MySQL數據庫240 
14.2.1啟動MySQL服務241 
14.2.2登錄MySQL數據庫242 
14.2.3配置Path變量243 
14.3 MySQL數據庫的基本操作245 
14.3.1創建數據庫245 
14.3.2查看數據庫245 
14.3.3刪除數據庫246 
14.3.4選擇數據庫247 
14.4 MySQL數據表的基本操作247 
14.4.1創建數據表247 
14.4.2查看數據表248 
14.4 .3修改數據表250 
14.4.4刪除數據表251 
14.5 MySQL語句的操作251 
14.5.1插入記錄251 
14.5.2查詢記錄252 
14.5.3修改記錄252
14.5.4刪除記錄253 
14.6 MySQL數據庫的備份與還原253 
14.6.1數據備份253 
14.6.2數據還原260 
14.7高手甜點262 


第15章PHP操作MySQL數據庫263 
15.1 PHP訪問MySQL數據庫的一般步驟263 
15.2連接數據庫前的準備工作264 
15.3訪問數據庫265 
15.3.1使用mysqli_connect()函數連接MySQL服務器265 
15.3.2使用mysqli_select_db()函數更改默認的數據庫266 
15.3.3使用mysqli_close()函數關閉MySQL連接267 
15.3.4使用mysqli_query()函數執行SQL語句267 
15.3.5獲取查詢結果集中的記錄數268 
15.3.6獲取結果集中的一條記錄作為枚舉數組269 
15.3.7獲取結果集中的記錄作為關聯數組270 
15.3.8獲取結果集中的記錄作為對象270 
15.3.9使用mysqli_fetch_array()函數獲取結果集記錄271 
15.3.10使用mysqli_free_result()函數釋放資源271 
15.4實戰演練1——PHP操作數據庫272 
15.5實戰演練2——使用insert語句動態添加用戶信息273
15.6實戰演練3—使用select語句查詢數據信息276 
15.7高手甜點277 


第16章PDO數據庫抽像類庫279 
16.1 PDO概述279 
16.2 PDO的安裝280 
16.3使用PDO操作MySQL 280 
16.3.1連接MySQL數據庫的方法281 
16.3 .2使用PDO時的try catch錯誤處理結構281 
16.3.3使用PDO執行SQL的選擇語句284 
16.3.4使用PDO獲取返回數據的類方法284 
16.3.5使用PDO執行SQL的添加、修改語句287 
16.3. 6使用PDO執行SQL的刪除語句287 
16.4實戰演練—PDO的prepare表述288 
16.5高手甜點290 


第17章安全加密技術291 
17.1使用加密函數291 
17.1.1 md5()函數291 
17.1.2 crypt()函數292 
17.1.3 sha1()函數293 
17.2使用加密擴展庫294 
17.2.1安裝Mcrypt擴展庫和Mhash擴展庫294 
17.2.2使用Mcrypt擴展庫295 
17.2.3使用Mhash擴展庫296 
17.3高手甜點298 


第18章PHP與XML技術299
18.1 XML的概念299 
18.2 XML語法基礎301 
18.2.1 XML文檔的組成和聲明301 
18.2.2 XML元素介紹302 
18.2.3實體引用305 
18.2.4 XML命名空間305 
18.2.5 XML DTD 306 
18.2.6使用CDATA標記307 
18.3將XML文檔轉換為HTML加以輸出307 
18.4在PHP中創建XML文檔308 
18.5使用SimpleXML擴展309 
18.5.1創建SimpleXMLElement對象309 
18.5.2訪問特定節點元素和屬性311 
18.5.3添加XML元素和屬性312 
18.6實戰演練—動態創建XML文檔313 
18.7高手甜點314 


第19章PHP與Ajax的綜合應用315 
19.1 Ajax概述315 
19.1.1什麼是Ajax 315 
19.1.2 Ajax的關鍵元素318 
19.1.3 CSS與Ajax 319 
19.2 Ajax快速入門319 
19.2.1全面剖析XMLH TT PRequest對象319 
19.2.2發出Ajax請求321 
19.2.3處理服務器響應323
19.3在PHP中應用Ajax技術324 
19.4高手甜點329 


第20章MVC和Smarty模板331 
20.1 MVC概述331 
20.2什麼是模板引擎332 
20.3 Smarty概述333 
20.3.1什麼是Smarty 333 
20.3.2 Smarty與MVC 333 
20.4 Smarty的安裝和配置334 
20.4.1 Smarty的下載和安裝334 
20.4.2第一個Smarty程序334 
20.5 Smarty模板設計335 
20.5.1 Smarty模板文件335 
20.5.2 Smarty標識336 
20.5.3 Smarty變量338 
20.5.4 Smarty數組339 
20.6 Smarty中的流程控制語句340 
20.7高手甜點342 


第21章Zend Framework 343 
21.1什麼是Zend Framework 343 
21.2 Zend Framework的目錄結構344 
21.3 Zend Framework的安裝與使用344 
21.3.1 Zend Framework的安裝344 
21.3.2創建一個新的Zend Framework應用345
21.4 PHP與Zend Framework的基本操作348 
21.4.1在Zend Framework應用中創建控制層文件348 
21.4.2在Zend Framework的控制層文件中添加一個action 349 
21.4.3在Zend Framework中創建佈局350 
21.4.4在Zend Framework中的數據庫操作351 
21.4.5在Zend Framework中創建表單352 
21.5高手甜點354 


第22章ThinkPHP框架355 
22.1什麼是ThinkPHP框架355 
22.2下載和安裝ThinkPHP 5.0框架356 
22.3 ThinkPHP 5.0框架的目錄結構358 
22.4配置虛擬主機和部署框架359 
22.5如何使用ThinkPHP 5.0框架362 
22.5.1 URL訪問362 
22.5.2入口文件364 
22.5.3 ThinkPHP 5.0框架的執行流程365 
22.5.4項目開發規範368 
22.6 ThinkPHP 5.0的配置369 
22.6.1配置目錄369 
22.6.2配置格式370 
22.7 ThinkPHP的控制器372 
22.7.1定義控制器372 
22.7.2控制器的初始化375
22.7.3跳轉和重定向376 
22.8數據庫的基本操作377 
22.8.1連接數據庫377 
22.8.2運行SQL操作381 
22.9 ThinkPHP的模型382 
22.10 ThinkPHP的視圖383 
22.11高手甜點385 


第23章開發網上商城386 
23.1系統功能描述386 
23.2系統功能分析387 
23.2.1系統功能分析387 
23.2.2數據流程和數據庫388 
23.3代碼的具體實現391 
23.4程序運行402 


第24章開發酒店管理系統網站405 
24.1網站的需求分析405 
24.2數據庫分析406 
24.3酒店管理系統的實現408 
24.3.1使用Yii框架的沙箱模式建立項目408 
24.3.2開始goodone項目編程410 
24.3.3構建message系統414 
24.3.4構建product系統421 
24.3.5構建order系統423 
24.3.6構建customer系統424