圖書信息
作者:吳津津(作者), 劉昊(作者), 田睿(作者), 李雲(作者)出版社: 機械工業出版社; 第1版 (2011年10月9日)
平裝
ISBN: 9787111359838
條形碼: 9787111359838
商品尺寸: 23.6 x 18.4 x 3.8 cm
商品重量: 1.4 Kg
編輯推薦
不僅系統闡述了PHP與MySQL開發必須掌握的所有理論知識,而且以項目實踐的方式詳細講解了UCenter、Discuz!、UCHome、ShopNC、PHPCMS等重要PHP產品的二次開發技術
PHPCHINA官方出品,Discuz!創始人戴志康、UCHome創始人李國德、THINKPHP創始人劉晨、PHPCMS項目負責人王參加等聯袂推薦,權威性毋庸置疑
內容簡介
phpchina官方出品,discuz!創始人戴志康、uchome創始人李國德、thinkphp創始人劉晨、phpcms項目負責人王參加等聯袂推薦。
《php與mysql權威指南》是目前為止最全面的關於php與mysql開發技術的書籍之一,系統而全面地講解了php與mysql技術的方方面面,適合國中級的php程式設計師系統地學習;本書也是目前為止首本系統而深入地講解ucenter、discuz!、uchome、shopnc、phpcms等php產品的二次開發技術的著作,適合有一定開發經驗、需要學習php二次開發技術的中高級程式設計師。
《php與mysql權威指南》分為五個部分:第一部分首先介紹了php最常用的伺服器apache的工作原理和使用方法,然後逐步介紹了php與mysql開發環境在windows和linux系統下的搭建;第二部分系統地講解了php的語法特性,第三部分詳細地闡述了mysql的基本使用方法和技巧,掌握了這兩部分的內容,即掌握了php與mysql開發所必須具備的所有基礎知識;第四部分以實際項目案例的方式對ucenter、discuz!、uchome、shopnc、phpcms等php產品的二次開發技術進行了深入的講解;第五部分是附錄,收錄了ucenter、discuz!、uchome、shopnc、phpcms等產品的數據字典,可供讀者開發時查閱。
作者簡介
吳津津網名“大白菜芯”,資深PHP開發工程師,網城創想科技公司(ShopNC)CEO,ShopNC系列軟體的創始人,有豐富的LAMP架構下的程式開發經驗,主持開發過多個知名的PHP軟體項目。目前致力於企業級PHP套用架構、集群化部署、分散式套用及系統安全方面的實踐與研究。同時,他也是PHPChina最早的培訓講師之一,一直致力於PHP技術的普及和推廣。
目錄
推薦序
作者簡介
前言
第一部分 準 備 篇
第1章 apache基礎
1.1 apache介紹
1.1.1 apache工作原理
1.1.2 apache的特點
1.2 windows下apache的部署
1.2.1 windows下apache的安裝和配置
1.2.2 啟動、停止和重新啟動apache服務
1.2.3 apache支持php語言
1.3 httpd.conf深入剖析
1.3.1 站點的基本配置
1.3.2 伺服器最佳化配置
1.3.3 http回響頭的信息配置
1.3.4 持久性連線配置
1.4 日誌記錄
1.4.1 日誌的配置
1.4.2 錯誤日誌
1.4.3 訪問日誌
1.5 虛擬主機
1.5.1 基於主機名的虛擬主機
1.5.2 基於ip地址的虛擬主機
1.6 URL重寫
1.6.1 mod_rewrite模組
1.6.2 常用指令
1.7 實戰案例
1.7.1 防止圖片盜鏈
1.7.2 apache偽靜態
1.7.3 用戶訪問許可權設定
1.8 小結
第2章 php與mysql開發環境的搭建
2.1 在windows上安裝iis
2.2 php的安裝和配置
2.2.1 在windows下的安裝和配置
2.2.2 在linux下的安裝和配置
2.3 mysql的安裝和配置
2.3.1 windows下的安裝和配置
2.3.2 linux下的安裝和配置
2.4 php與mysql連線
2.5 小結
第二部分 php篇
第3章 php基礎
3.1 php的工作原理
3.2 php的版本變遷
3.3 php的特性
3.4 php的套用範圍
3.5 php的基本語法
3.5.1 php 標記
3.5.2 php 中的注釋
3.5.3 編寫你的第一個php套用
3.6 php中的變數與常量
3.6.1 變數
3.6.2 常量
3.7 表達式
3.7.1 表達式分類
3.7.2 表達式的套用
3.7.3 運算元
3.7.4 操作符
3.8 php中的數據類型
3.8.1 布爾型
3.8.2 整型
3.8.3 字元串
3.8.4 數組
3.8.5 對象
3.8.6 其他類型
3.9 強制類型轉換
3.9.1 顯式和隱式強制類型轉換
3.9.2 有用的強制類型轉換函式
3.10 php的語句
3.10.1 循環語句
3.10.2 條件判斷語句
3.11 小結
第4章 字元串和正則表達式
4.1 什麼是字元串
4.2 定義一個字元串
4.2.1 使用單引號
4.2.2 使用雙引號
4.2.3 使用定界符
4.3 獲取字元串
4.4 拼接字元串
4.5 字元串的格式化
4.6 修改字母大小寫
4.7 計算字元串長度和字元數目
4.8 字元串查找函式
4.8.1 字元串的查找
4.8.2 取得字元串的位置
4.9 字元串的複製和替換
4.9.1 字元串的複製
4.9.2 字元串的替換
4.10 字元串的比較
4.11 正則表達式的概念和語法
4.11.1 基本模式匹配
4.11.2 字元集
4.11.3 重複
4.12 使用正則表達式查找子字元串
4.13 使用正則表達式分割字元串
4.14 小結
第5章 數組
5.1 數組的基本概念
5.1.1 什麼是數組
5.1.2 數組操作符
5.2 數字索引數組
5.2.1 數字索引數組的初始化
5.2.2 訪問數組的內容
5.2.3 使用循環訪問數組
5.3 數組的創建和添加
5.3.1 創建數組
5.3.2 添加數組
5.4 數組元素的添加和刪除
5.4.1 在數組頭添加元素
5.4.2 在數組尾添加元素
5.4.3 從數組頭刪除元素
5.4.4 從數組尾刪除元素
5.5 數組的遍歷
5.6 字元串與數組之間的轉換
5.7 多維數組
5.8 數組的排序
5.8.1 sort()和rsort()
5.8.2 asort()和arsort()
5.8.3 ksort()和krsort()
5.8.4 隨機排序函式shuffle()
5.8.5 多維數組的排序
5.9 數組判斷函式
5.10 數組的合併與拆分
5.10.1 合併函式array_merge()
5.10.2 合併函式array_combine()
5.10.3 拆分函式 array_chunk()
5.10.4 返回數組交集的函式array_intersect()
5.10.5 將數組轉換成標量變數
5.11 快速初始化數組
5.11.1 range()函式
5.11.2 array_fill()函式
5.12 在數組中查找值
5.13 定位數組元素
5.13.1 搜尋數組
5.13.2 獲取數組鍵
5.13.3 獲取數組值
5.14 小結
第6章 php對檔案的操作
6.1 打開/關閉檔案
6.1.1 打開檔案
6.1.2 關閉檔案
6.2 讀取檔案
6.2.1 fread()和file()函式
6.2.2 fpassthru()函式
6.2.3 fgets()和fgetss()函式
6.2.4 fgetcsv()函式
6.3 寫入檔案
6.4 方便的檔案處理函式
6.5 其他檔案處理函式
6.6 移動檔案指針小案例
6.7 檔案鎖定
6.8 小結
第7章 php函式與代碼的重用性
7.1 定義和調用函式
7.2 參數
7.2.1 按值傳遞
7.2.2 按引用傳遞
7.2.3 默認參數值
7.3 函式內的變數範圍
7.3.1 局部變數
7.3.2 靜態變數
7.3.3 全局變數
7.4 函式的作用域和可用性
7.5 用變數存儲函式的名稱
7.6 遞歸函式
7.7 使用和包含檔案
7.7.1 include與require 的套用
7.7.2 php模板化
7.8 小結
第8章 面向對象的程式設計
8.1 類和對象的關鍵概念
8.1.1 類
8.1.2 對象
8.1.3 欄位
8.1.4 屬性
8.1.5 常量
8.1.6 方法
8.1.7 $this關鍵字
8.2 構造方法和析構方法
8.2.1 構造方法
8.2.2 析構方法
8.3 靜態類成員
8.3.1 靜態屬性
8.3.2 靜態方法
8.4 對象克隆
8.4.1 clone一個對象
8.4.2 _clone()方法
8.5 繼承
8.5.1 如何繼承一個類
8.5.2 使用parent::關鍵字
8.5.3 instanceof關鍵字
8.5.4 覆蓋父類的方法
8.6 多態
8.7 抽象類和接口
8.7.1 抽象類
8.7.2 接口
8.7.3 抽象類與接口的區別
8.8 命名空間
8.9 php5中的特殊方法
8.9.1 __tostring()
8.9.2 __autoload()
8.9.3 __get()方法和__set()方法
8.9.4 __call
8.10 小結
第9章 php的錯誤、異常處理和調試
9.1 常見的錯誤類型
9.1.1 語法錯誤
9.1.2 邏輯錯誤
9.1.3 未定義錯誤
9.1.4 環境錯誤
9.1.5 運行錯誤
9.2 錯誤處理機制
9.2.1 錯誤級別列表
9.2.2 錯誤處理函式
9.2.3 自定義錯誤頁面
9.2.4 錯誤日誌
9.3 異常處理
9.3.1 異常的基本使用
9.3.2 php的基本異常類
9.3.3 try、throw和catch
9.3.4 創建自定義的exception類
9.3.5 多個異常
9.3.6 重新拋出異常
9.3.7 設定頂層異常處理器(top level exception handler)
9.3.8 異常的規則
9.4 使用xdebug進行調試
9.4.1 xdebug的安裝
9.4.2 xdebug的使用
9.4.3 xdebug的特製函式
9.5 小結
第10章 php與html的互動
10.1 php和web表單
10.1.1 表單基本操作
10.1.2 表單安全性
10.1.3 常用表單數據的驗證方法
10.2 通過php上傳檔案
10.2.1 php檔案上傳/資源指令
10.2.2 上傳錯誤訊息
10.2.3 php檔案上傳示例
10.3 小結
第三部分 mysql篇
第11章 mysql部署與基本使用
11.1 mysql概述
11.1.1 mysql為何如此流行
11.1.2 mysql特性
11.2 登錄與退出mysql
11.3 創建、刪除資料庫和用戶
11.4 mysql用戶管理及許可權分配
11.4.1 mysql訪問許可權系統
11.4.2 設定用戶許可權
11.4.3 grant和revoke命令
11.5 mysql最佳化
11.6 小結
第12章 資料庫操作:php+mysql
12.1 mysql擴展
12.1.1 資料庫連線
12.1.2 向資料庫中插入數據
12.2 MySQLi擴展
12.2.1 mysqli的面向對象和面向過程編程方式
12.2.2 預準備語句
12.2.3 多查詢
12.3 資料庫抽象層
12.3.1 pdo
12.3.2 adodb
12.4 小結
第13章 mysql中sql語句的套用
13.1 sql語句的基本套用
13.2 常數列的最大值
13.3 擁有某列最大值的行
13.4 按組排列的最大值
13.5 提取某列在組間的最大值
13.6 使用用戶變數
13.7 使用auto_increment
13.8 常用的字元串函式
13.9 常用的日期和時間函式
13.10 導入數據
13.10.1 load data infile
13.10.2 mysqlimport
13.11 導出數據
13.11.1 select into outfile
13.11.2 mysqldump
13.12 小結
第14章 mysql資料庫開發
14.1 mysql的數據列類型
14.1.1 數值類型列
14.1.2 字元串類型列
14.2 字元集支持
14.3 索引的使用
14.3.1 資料庫索引
14.3.2 主要索引介紹
14.3.3 索引最佳實踐
14.4 事務處理
14.4.1 非事務實現方法
14.4.2 事務實現方法
14.5 外鍵與數據的完整性
14.6 資料庫內部語句和語法
14.6.1 alter database語法
14.6.2 alter table語法
14.6.3 create database語法
14.6.4 CREATE INDEX語法
14.6.5 create table語法
14.6.6 drop database語法
14.6.7 drop index語法
14.6.8 drop table語法
14.6.9 rename table語法
14.7 資料庫操作語句和語法
14.7.1 delete語法
14.7.2 do語法
14.7.3 handler語法
14.7.4 insert語法
14.7.5 load data infile語法
14.7.6 fields分隔設定
14.7.7 replace語法
14.7.8 select語法
14.7.9 truncate語法
14.7.10 update語法
14.7.11 explain語法
14.8 存儲過程
14.9 小結
第15章 mysql數據管理
15.1 mysql的分區
15.1.1 range分區
15.1.2 list分區
15.1.3 range和list分區的管理
15.2 mysql的備份
15.3 mysql的恢復
15.4 mysql複製
15.5 小結
第16章 mysql的存儲引擎及表類型
16.1 myisam存儲引擎
16.1.1 myisam啟動選項
16.1.2 損壞的myisam表
16.1.3 未被適當關閉的表的問題
16.2 innodb存儲引擎
16.2.1 innodb配置
16.2.2 innodb啟動選項
16.2.3 創建innodb表空間
16.2.4 處理innodb初始化問題
16.2.5 備份和恢復innodb資料庫
16.2.6 添加和刪除innodb數據和日誌檔案
16.3 merge存儲引擎
16.4 memory(heap)存儲引擎
16.5 BDB(BerkeleyDB)存儲引擎
16.5.1 bdb支持的作業系統
16.5.2 bdb啟動選項
16.6 example存儲引擎
16.7 federated存儲引擎
16.7.1 federated存儲引擎的描述
16.7.2 如何使用federated表
16.7.3 federated存儲引擎的局限性
16.8 archive存儲引擎
16.9 csv存儲引擎
16.10 blackhole存儲引擎
16.11 mysql最新版本的功能
16.12 小結
第17章 phpmyadmin
17.1 phpmyadmin的安裝與配置
17.1.1 phpmyadmin的安裝
17.1.2 phpmyadmin的配置
17.1.3 phpmyadmin配置完成後可能遇到的問題
17.2 phpmyadmin的使用
17.2.1 phpmyadmin的登錄
17.2.2 phpmyadmin基本功能介紹
17.2.3 資料庫管理
17.2.4 數據表管理
17.2.5 數據記錄管理
17.3 小結
第四部分 二次開發實戰篇
第18章 smarty套用
18.1 什麼是模板引擎
18.2 Smarty模板引擎
18.3 smarty的安裝及初始化配置
18.3.1 安裝smarty
18.3.2 初始化smarty類庫的默認設定
18.3.3 程式注釋
18.3.4 簡單示例
18.4 smarty的使用步驟
18.5 變數使用
18.5.1 模板中輸出php分配的變數
18.5.2 使用保留變數
18.6 變數調解器
18.7 模板的控制結構
18.7.1 條件選擇結構:if-elseif-else
18.7.2 foreach
18.7.3 section
18.8 smarty快取
18.8.1 在smarty中控制快取
18.8.2 每個頁面使用多個快取
18.8.3 為快取實例消除處理開銷
18.8.4 清除快取
18.8.5 關閉局部快取
18.9 小結
第19章 zend 系列開發工具
19.1 zend core集成環境
19.1.1 zend core介紹
19.1.2 zend core的安裝
19.2 Zend Optimizer最佳化器
19.2.1 zend optimizer介紹
19.2.2 zend optimizer的安裝
19.2.3 zend optimizer的最佳化及配置
19.3 zend studio 開發工具
19.3.1 zend studio介紹
19.3.2 zend studio的下載與安裝
19.3.3 zend studio功能及組件
19.3.4 zend studio的用戶界面
19.3.5 zend studio項目管理
19.4 zend server伺服器
19.4.1 zend server簡介
19.4.2 zend server安裝
19.5 zend guard安全衛士
19.5.1 zend guard簡介
19.5.2 zend guard安裝
19.5.3 使用zend guard加密檔案
19.6 zend platform套用平台
19.6.1 zend platform 概述
19.6.2 zend platform的安裝
19.7 小結
第20章 svn版本控制及團隊管理
20.1 基本概念
20.1.1 什麼是版本控制
20.1.2 什麼是 subversion
20.1.3 什麼是版本庫
20.2 svn伺服器的安裝與配置
20.2.1 基於svnserve的svn配置
20.2.2 基於apache的svn伺服器
20.3 客戶端工具TortoiseSVN
20.3.1 什麼是tortoisesvn
20.3.2 下載與安裝tortoisesvn
20.3.3 tortoisesvn使用
20.4 小結
第21章 ucenter開發實戰
21.1 ucenter總述
21.1.1 ucenter簡介
21.1.2 ucenter安裝
21.1.3 使用ucenter
21.2 ucenter原始碼分析
21.2.1 ucenter系統架構
21.2.2 ucenter的目錄結構
21.2.3 ucenter核心代碼:/index.php
21.2.4 ucenter核心代碼:/admin.php
21.3 ucenter接口原理
21.3.1 接口函式定義的程式檔案/uc_client/client.php
21.3.2 通知接口檔案uc.php
21.4 ucenter接口開發實例—讀取論壇主題或帖子數量信息
21.5 小結
第22章 discuz! 論壇開發實戰
22.1 discuz!總述
22.1.1 discuz!簡介
22.1.2 discuz!特性
22.1.3 discuz!安裝
22.1.4 使用discuz!
22.2 discuz!的原始碼分析
22.2.1 discuz!系統架構
22.2.2 discuz!資料庫結構
22.2.3 discuz!的目錄及檔案結構
22.2.4 discuz!核心代碼:/include/common.inc.php
22.2.5 discuz!核心代碼:/include/global.func.php
22.2.6 discuz!核心代碼:/include/db_mysql.class.php
22.2.7 discuz!核心代碼:/include/template.func.php
22.2.8 discuz!核心代碼:/include/cache.func.php
22.2.9 discuz!核心代碼:/admincp.php
22.3 discuz!的二次開發實例—多語言切換(一)
22.3.1 改造目錄結構
22.3.2 修改資料庫
22.3.3 修改language()函式
22.3.4 修改template()函式
22.3.5 修改parse_template()函式
22.4 discuz!的二次開發實例—多語言切換(二)
22.4.1 外掛程式模組概述
22.4.2 多語言切換後台管理
22.4.3 獲取用戶選擇或系統設定的語言包信息
22.4.4 製作語言包切換選單
22.4.5 編寫外掛程式語言包
22.5 小結
第23章 ucenter home sns系統開發實戰
23.1 ucenter home總述
23.1.1 ucenter home簡介
23.1.2 ucenter home的安裝
23.1.3 ucenter home的使用
23.2 ucenter home原始碼分析
23.2.1 ucenter home目錄及檔案結構
23.2.2 核心代碼:/source/common.php
23.2.3 核心代碼:/source/function_common.php
23.2.4 核心代碼:/source/class_mysql.php
23.2.5 核心代碼: /do.php
23.3 ucenter home的內部機制
23.3.1 ucenter home模板機制
23.3.2 ucenter home快取機制
23.3.3 ucenter home登錄驗證機制
23.3.4 ucenter home道具機制
23.3.5 ucenter home任務的計畫機制
23.3.6 ucenter home動態機制
23.3.7 ucenter home評論機制
23.3.8 ucenter home許可權機制
23.4 ucenter home的二次開發實例—《記賬本》外掛程式
23.4.1 《記賬本》代碼設計
23.4.2 《記賬本》外掛程式的安裝說明
23.5 小結
第24章 shopnc多用戶商城開發實戰
24.1 shopnc總述
24.1.1 shopnc綜合多用戶商城系統簡介
24.1.2 shopnc的安裝
24.2 shopnc多用戶商城的原始碼分析
24.2.1 shopnc多用戶商城的系統特性
24.2.2 shopnc系統結構
24.2.3 shopnc模板引擎
24.2.4 核心模組的簡要說明
24.2.5 核心模組的詳細描述
24.2.6 核心模組的使用說明
24.3 shopnc外掛程式的開發
24.4 shopnc支付接口
24.5 shopnc商品頁靜態化
24.6 shopnc商品圖片上傳
24.7 小結
第25章 phpcms v9內容管理系統開發實戰
25.1 phpcms v9總述
25.1.1 phpcms簡介
25.1.2 phpcms v9的新特性
25.1.3 phpcms v9的安裝
25.2 phpcms源碼分析
25.2.1 目錄及檔案結構
25.2.2 模板語法規則
25.3 phpcms v9二次開發介紹
25.3.1 開發接口概述
25.3.2 系統類庫與函式館的調用
25.3.3 理解模組和控制器
25.3.4 二次開發的命名規範
25.3.5 二次開發的流程
25.3.6 二次開發技巧
25.4 pc標籤的使用說明
25.4.1 pc標籤概述
25.4.2 pc標籤的語法
25.4.3 pc標籤的保留參數
25.4.4 pc標籤數據的顯示
25.4.5 pc標籤的分類
25.4.6 pc標籤工具箱
25.5 phpcms和ucenter的整合
25.5.1 phpsso簡介
25.5.2 phpsso與ucenter的整合
25.5.3 phpsso與ucenter整合的常見問題
25.6 phpcms二次開發實例—留言本
25.6.1 需求分析
25.6.2 資料庫和數據表的設計
25.6.3 創建模組目錄
25.6.4 創建數據模型類檔案
25.6.5 開發模組控制器和函式
25.7 小結
附錄a comsenz產品開發—ucenter 1.5 數據字典
附錄b discuz! 7.0.0 數據字典
附錄c uc home 2.0數據字典
附錄d shopnc 2.0數據字典
附錄e phpcms v9數據字典
後記