編輯推薦
全麵認識MVC開發帶來的高效率
幫助讀者編寫優雅、高質量的PHP代碼
使用PHP開發性能超強的網站
解決PHP團隊開發難點
輕鬆構建分布式的PHP網站群
內容簡介
MVC是一種先進的開發模式,能夠解決團隊開發之間協同配閤的問題,使得網站各部件以更高的效率運行。MVC模式將網站分為3大部件,分彆為模型、視圖、控製器。這3大部件各自分離,但又相互依存,最終形成瞭一個容易維護、容易擴展、高效運行的網站平颱。對於後颱程序員,藉助於MVC模式就可以更加專注於功能的實現,而不需要太多地涉及頁麵與前端。這種分工協作的最終目的是提高開發效率及項目質量。對於個人項目,也許在其他編程技術(例如Java、Python)中,MVC模式並沒有優勢,但在PHP中,由於支持混閤編程,所以使用MVC模式進行編程,能顯著提高工作效率。
《PHP MVC 開發實戰》是國內本專門介紹PHP MVC開發模式的圖書,全書圍繞MVC實現思路進行細緻的講解。通過MVC編程模式,以點帶麵,全麵深入探討PHP核心技術。同時,《PHP MVC 開發實戰》也是一本深入介紹利用PHP構建高性能網站的圖書,通過MVC的數據庫中間件,可以輕鬆實現網站群體、讀寫分離等高級應用,《PHP MVC 開發實戰》在此基礎上還會進一步介紹當前流行的NoSQL應用、全文搜索應用等。最後,作者通過一個自行編寫的MVC框架,引導讀者開發屬於自己的PHP MVC框架。
《PHP MVC 開發實戰》內容通俗易懂、示例形象,適閤廣大的Web從業人員閱讀。由於PHP非常簡單、易用,所以就算是未接觸過PHP的讀者或者初學者,隻要掌握瞭基礎的麵嚮對象編程思想就可以輕鬆上手。
作者簡介
李開湧,IT作傢,技術顧問。曾供職於電信盈科,主要從事分布式集成係統的開發。擁有超過8年的開源技術編程經驗,對Linux、FreeBSD以及Hadoop集群等均有豐富的使用及開發經驗。同時,還是微軟Silverlight MVP,精通微軟的.NET平颱技術,是國內最早從事Windows Phone技術普及的IT作者,曾著有《Windows Phone 7應用開發入門與實踐》一書。目前從事分布式開發及雲技術研究。
目錄
前言
基礎篇
第1章 開發前準
1.1 PHP與MVC概述
1.2 開發環境搭建
1.2.1 在Windows下使用一鍵安裝包
1.2.2 在Linux平颱安裝LNMP
1.3 開發工具介紹
1.3.1 PHPCoder
1.3.2 PHPEditor
1.3.3 NetBeansIDE
1.3.4 EclipsePDT
1.3.5 ZendStudio
1.3.6 AdobeDreamweaver
1.3.7 VS.PHP
1.4 SVN版本控製
1.4.1 SVN介紹
1.4.2 SVN的安裝
1.4.3 TortoiseSVN的簡單使用
1.4.4 TortoiseSVN文件管理
1.4.5 SVN版本庫權限配置
1.5 小結
第2章 麵嚮對象基礎
2.1 麵嚮對象介紹
2.2 PHP麵嚮對象基礎
2.2.1 class關鍵字
2.2.2 類中的成員
2.2.3 實例化類
2.3 類中的方法
2.3.1 方法的參數
2.3.2 方法的返迴值
2.3.3 訪問修飾符
2.3.4 $this關鍵字
2.4 類的繼承
2.4.1 子類繼承父類
2.4.2 重寫父類中的成員屬性
2.4.3 final關鍵字
2.5 靜態類成員
2.5.1 static關鍵字
2.5.2 訪問靜態類成員(self::parent::)
2.5.3 類常量
2.6 小結
第3章 類的高級特性
3.1 類對象的剋隆(clone)
3.2 類接口(interface)
3.2.1 接口的意義
3.2.2 定義接口
3.2.3 實現接口(implements)
3.3 抽象類與抽象方法
3.3.1 理解抽象概念
3.3.2 定義抽象類和方法(abstract)
3.3.3 使用抽象類
3.3.4 接口與抽象類的區彆
3.4 類的異常
3.4.1 Exception類
3.4.2 使用try、catch、throw語句
3.5 小結
實戰篇
第4章 PHPMVC發展狀況
4.1 齣身豪門的ZendFramework
4.1.1 ZendFramework簡介
4.1.2 安裝ZendFramework
4.1.3 使用ZendFramework實現MVC
4.1.4 ZendFramework核心組件
4.2 功能強大的Symfony
4.2.1 Symfony簡介
4.2.2 獲得Symfony
4.2.3 實現一個簡單的MVC
4.2.4 Symfony的配置文件
4.3 靈活完善的CakePHP
4.3.1 CakePHP簡介
4.3.2 下載安裝CakePHP
4.3.3 使用CakePHP構建MVC編程
4.3.4 好用的CakePHP視圖助手
4.4 使用廣泛的CodeIgniter
4.4.1 CodeIgniter簡介
4.4.2 安裝CodeIgniter
4.4.3 使用CodeIgniter實現MVC
4.5 高效便捷的ThinkPHP
4.5.1 ThinkPHP介紹
4.5.2 下載安裝ThinkPHP
4.5.3 使用ThinkPHP實現MVC
4.5.4 高效的ThinkPHP視圖引擎
4.6 小結
第5章 ThinkPHP開發入門
5.1 大道至簡、開發由我
5.1.1 入口文件
5.1.2 兩種創建項目的方式
5.1.3 模塊分組
5.2 ThinkPHP目錄
5.2.1 係統目錄
5.2.2 項目目錄
5.3 配置文件
5.3.1 選項配置
5.3.2 靜態緩存配置
5.3.3 路由配置
5.4 小結
第6章 ThinkPHP開發MVC應用
6.1 ThinkPHP中的URL
6.1.1 URL模式
6.1.2 URL路由
6.1.3 自動生成匹配的URL
6.1.4 實現文件僞靜態
6.2 模型(Model)
6.2.1 創建模型
6.2.2 實例化模型
6.2.3 模型初始化(_initialize())
6.3 控製器(Controller)
6.3.1 創建控製器
6.3.2 控製器中的動作(Action)
6.3.3 控製器的調用
6.3.4 項目空控製器與控製器空動作
6.3.5 動作的前後操作
6.4 視圖(View)
6.4.1 創建和使用視圖
6.4.2 係統變量與常量
6.4.3 在視圖中使用函數
6.4.4 數據循環
6.4.5 條件判斷
6.4.6 使用外部文件
6.4.7 導入標簽庫
6.4.8 使用布局
6.5 小結
第7章 ThinkPHP的數據庫操作
7.1 定義數據錶模型
7.1.1 模型映射
7.1.2 自定義模型
7.1.3 create方法
7.1.4 模型屬性
7.2 基礎模型(Model)
7.2.1 連貫操作
7.2.2 CURD
7.2.3 查詢語言
7.2.4 使用原生的SQL語言
7.3 關聯模型(RelationModel)
7.3.1 關聯關係
7.3.2 關聯定義
7.3.3 關聯模型的CURD
7.4 高級模型(AdvModel)
7.4.1 定位查詢
7.4.2 動態查詢
7.4.3 內容存文本
7.5 大數據支持
7.5.1 分布式數據庫
7.5.2 讀寫分離
7.5.3 數據錶分區
7.6 小結
第8章 安全與調試
8.1 構建穩健及安全的MVC
8.2 ThinkPHP內置的安全機製
8.2.1 錶單令牌
8.2.2 字段檢測
8.2.3 數據驗證
8.2.4 數據驗證碼
8.3 ThinkPHP安全日誌機製
8.3.1 記錄方式
8.3.2 係統日誌
8.3.3 應用日誌
8.4 使用消息隊列機製
8.4.1 HTTPSQS基礎
8.4.2 安裝HTTPSQS
8.4.3 測試HTTPSQS
8.4.4 在MVC中使用HTTPSQS
8.5 ThinkPHP程序調試機製
8.5.1 開啓調試功能
8.5.2 代碼編譯概念
8.5.3 異常定製
8.5.4 性能調試
8.6 小結
第9章 ThinkPHP功能庫
9.1 數據處理
9.1.1 XML引擎
9.1.2 返迴XML
9.1.3 返迴Json
9.1.4 使用Json及Jsonp
9.2 ThinkPHP函數庫
9.2.1 快捷方法
9.2.2 基礎函數庫
9.2.3 擴展函數庫
9.3 ThinkPHP多語言支持
9.3.1 部署多語言
9.3.2 實現多語言
9.3.3 多語言與客戶端
9.4 客戶端
9.4.1 封裝的Session
9.4.2 封裝的Cookie
9.5 小結
第10章 網站靜態化
10.1 Cache類
10.1.1 緩存的方式
10.1.2 開啓緩存
10.1.3 安裝Memcached
10.1.4 使用Memcached
10.2 Memcached實戰應用
10.2.1 頁麵局部緩存
10.2.2 緩存數據集
10.2.3 使用Memcache存放Session
10.3 使用Redis緩存
10.3.1 Redis的安裝
10.3.2 安裝Redis擴展
10.3.3 測試Redis
10.3.4 Redis緩存
10.4 靜態緩存
10.4.1 靜態緩存配置
10.4.2 靜態緩存規則
10.5 小結
第11章 ThinkPHP擴展
11.1 使用擴展
11.1.1 擴展的分類
11.1.2 模闆引擎擴展
11.2 網絡操作
11.2.1 文件上傳
11.2.2 Nginx文件上傳進度
11.2.3 FTP文件上傳
11.2.4 下載文件
11.2.5 Socket套接字編程
11.2.6 定位當前位置
11.2.7 發送電子郵件
11.3 數據處理
11.3.1 數據加密
11.3.2 數據編碼轉換
11.3.3 數據分頁
11.3.4 日期數據
11.3.5 Input類
11.3.6 GD庫繪製圖形
11.4 行為擴展
11.4.1 行為概述
11.4.2 內置行為擴展
11.4.3 自定義行為擴展
11.5 小結
第12章 SOAP分布式開發
12.1 分布式開發概念
12.1.1 SOA與SOAP
12.1.2 PHP5分布式開發
12.2 SOAP消息體
12.2.1 WSDL文件
12.2.2 定義根消息體definitions
12.2.3 type類型
12.2.4 portType端口類型
12.2.5 message消息列錶
12.2.6 binding服務綁定描述
12.2.7 service服務描述
12.2.8 可視化創建WSDL
12.2.9 使用nusoap創建WSDL
12.2.1 0ThinkPHP生成SOAP服務
12.3 使用soapUI測試WSDL
12.3.1 soapUI簡介
12.3.2 安裝soapUI
12.3.3 創建項目
12.3.4 測試項目
12.3.5 負載測試
12.4 小結
第13章 整閤Smarty模闆引擎
13.1 Smarty模闆引擎介紹
13.2 使用Smarty
13.2.1 在PHP中使用Smarty
13.2.2 開啓ThinkPHP模闆擴展
13.2.3 以擴展的方式使用全功能Smarty
13.3 Smarty模闆函數和標簽
13.3.1 include(包含文件)
13.3.2 capture(暫存數據)
13.3.3 include_php(包含PHP文件)
13.3.4 insert(插入函數)
13.3.5 literal(原文本輸齣)
13.3.6 php(執行PHP語句塊)
13.3.7 strip(保留空格和迴車符)
13.4 Smarty模闆控製語句
13.4.1 if、elseif(判斷語句)
13.4.2 foreach(循環數據)
13.4.3 section(遍曆數組)
13.5 變量調節器
13.5.1 capitalize(首字母大寫)
13.5.2 count_characters(統計字符)
13.5.3 count_paragraphs(統計段落)
13.5.4 count_sentences(統計句數)
13.5.5 count_words(統計單詞)
13.5.6 date_format(格式化日期)
13.5.7 escape(字符轉碼)
13.5.8 replace(字符替換)
13.5.9 regex_replace(正則替換)
13.5.1 0truncate(字符截取)
13.6 視圖助手
13.6.1 html_image(生成圖像)
13.6.2 html_options(生成錶單選擇組件)
13.6.3 html_radios(生成錶單單選組件)
13.6.4 html_checkboxes(生成錶單復選組件)
13.6.5 html_select_date(生成錶單日期選擇組件)
13.6.6 html_select_time(生成錶單時間選擇組件)
13.6.7 html_table(生成錶格)
13.7 Smarty對象方法
13.7.1 display(顯示模闆)
13.7.2 fetch(獲取輸齣內容)
13.7.3 configLoad(加載配置信息)
13.7.4 registerPlugin(注冊插件)
13.8 Smarty緩存
13.8.1 開啓緩存
13.8.2 局部緩存
13.9 小結
第14章 整閤Coreseek全文搜索服務
14.1 全文索引概述
14.2 Coreseek基礎
14.2.1 Coreseek概述
14.2.2 在Windows下安裝Coreseek
14.2.3 在Linux下安裝Coreseek
14.3 Coreseek管理工具
14.3.1 indexer
14.3.2 searchd
14.3.3 search
14.4 創建索引
14.4.1 索引源分類
14.4.2 增量索引
14.4.3 實時索引
14.5 在MVC中搜索數據
14.5.1 安裝Sphinx擴展模塊
14.5.2 使用PHP接口
14.5.3 在MVC中搜索數據
14.5.4 實現關鍵詞高亮顯示
14.6 小結
第15章 使用MongoDB
15.1 MongoDB介紹
15.2 MongoDB的安裝
15.2.1 在Windows下安裝MongoDB
15.2.2 在Linux下安裝MongoDB
15.3 MongoDB的使用
15.3.1 理解MongoDB的數據結構
15.3.2 數據庫管理
15.3.3 文檔數據類型
15.3.4 插入數據
15.3.5 查詢數據
15.3.6 更新數據
15.3.7 刪除數據
15.4 條件操作
15.4.1 條件判斷語句
15.4.2 $all匹配全部
15.4.3 $exists檢查字段
15.4.4 null空值處理
15.4.5 $ne比較
15.4.6 $mod取模運算
15.4.7 $in、nin枚舉查詢
15.4.8 $or、$nor判斷查詢
15.4.9 $type映射查詢
15.4.1 0使用正則錶達式匹配
15.4.1 1limit、skip限製查詢
15.4.1 2count查詢記錄條數
15.4.1 3sort查詢結果排序
15.5 性能優化
15.5.1 使用索引
15.5.2 固定集閤
15.5.3 GridFS
15.5.4 Profile優化器
15.6 在MVC中使用MongoDB
15.6.1 安裝PHP擴展
15.6.2 開啓MongoDB用戶驗證
15.6.3 ThinkPHP操作MongoDB
15.7 小結
第16章 Redis實戰
16.1 Redis的使用
16.1.1 Redis概述
16.1.2 常用管理命令
16.1.3 Redis用戶驗證
16.2 Redis數據類型
16.2.1 String類型
16.2.2 Hash類型
16.2.3 List類型
16.2.4 Sets類型
16.2.5 Zset類型
16.2.6 使用phpRedisAdmin
16.3 Redis高級使用
16.3.1 數據持久化
16.3.2 虛擬內存
16.3.3 事務處理
16.3.4 主從同步
16.4 在MVC中使用Redis
16.4.1 在PHP中使用Redis
16.4.2 在MVC中進行CURD操作
16.4.3 數據分頁
16.5 小結
項目篇
第17章 開發論壇係統
17.1 開發前準備
17.1.1 係統介紹
17.1.2 係統預覽
17.1.3 架構設計
17.1.4 係統部署
17.2 係統整體界麵設計
17.2.1 布局方案
17.2.2 論壇首頁
17.2.3 論壇版塊
17.3 用戶模塊
17.3.1 用戶登錄
17.3.2 用戶注冊
17.3.3 使用微博賬號登錄
17.3.4 將現有賬號綁定到微博
17.4 發錶帖子模塊
17.4.1 整閤百度編輯器
17.4.2 上傳圖片
17.4.3 管理圖片
17.4.4 上傳附件
17.4.5 數據提交處理
17.5 帖子內容模塊
17.5.1 帖子正文
17.5.2 迴復列錶
17.5.3 迴復帖子
17.6 帖子管理模塊
17.6.1 刪除帖子
17.6.2 鎖定帖子
PHP MVC 開發實戰 下載 mobi epub pdf txt 電子書 格式