PHP MVC 開發實戰

PHP MVC 開發實戰

《PHP MVC 開發實戰》是機械工業出版社出版的圖書,作者是李開涌。

基本介紹

  • 作者:李開涌
  • ISBN:9787111428527
  • 頁數:618
  • 定價:98.8
  • 出版社:機械工業出版社
  • 出版時間:2013-7
  • 裝幀:平裝
內容介紹,作者介紹,作品目錄,

內容介紹

"MVC是一種先進的開發模式,能夠解決團隊開發之間協同配合的問題,使得網站各部件以更高的效率運行。MVC模式將網站分為3大部件,分別為模型、視圖、控制器。這3大部件各自分離,但又相互依存,最終形成了一個容易維護、容易擴展、高效運行的網站平台。對於後台程式設計師,藉助於MVC模式就可以更加專注於功能的實現,而不需要太多地涉及頁面與前端。這種分工協作的最終目的是提高開發效率及項目質量。對於個人項目,也許在其他編程技術(例如JavaPython)中,MVC模式並沒有優勢,但在PHP中,由於支持混合編程,所以使用MVC模式進行編程,能顯著提高工作效率。
本書是國內第一本專門介紹PHP MVC開發模式的圖書,全書圍繞MVC實現思路進行細緻的講解。通過MVC編程模式,以點帶面,全面深入探討PHP核心技術。同時,本書也是一本深入介紹利用PHP構建高性能網站的圖書,通過MVC的資料庫中間件,可以輕鬆實現網站群體、讀寫分離等高級套用,本書在此基礎上還會進一步介紹當前流行的NoSQL套用、全文搜尋套用等。最後,作者通過一個自行編寫的MVC框架,引導讀者開發屬於自己的PHP MVC框架。
本書內容通俗易懂、示例形象,適合廣大的Web從業人員閱讀。由於PHP非常簡單、易用,所以就算是未接觸過PHP的讀者或者初學者,只要掌握了基礎的面向對象編程思想就可以輕鬆上手。
"

作者介紹

李開涌,IT作家,技術顧問。曾供職於電信盈科,主要從事分散式集成系統的開發。擁有超過8年的開源技術編程經驗,對LinuxFreeBSD以及Hadoop集群等均有豐富的使用及開發經驗。同時,還是微軟Silverlight MVP,精通微軟的.NET平台技術,是國內最早從事Windows Phone技術普及的IT作者,曾著有《Windows Phone 7套用開發入門與實踐》一書。目前從事分散式開發及雲技術研究。

作品目錄

"目 錄
前言
基 礎 篇
第1章 開發前準備2
1.1 PHP與MVC概述3
1.2 開發環境搭建7
1.2.1 在Windows下使用一鍵安裝包8
1.2.2 在Linux平台安裝LNMP11
1.3 開發工具介紹20
1.3.1 PHP Coder20
1.3.2 PHP Editor21
1.3.3 NetBeans IDE21
1.3.4 Eclipse PDT22
1.3.5 Zend Studio24
1.3.6 Adobe Dreamweaver25
1.3.7 VS.PHP27
1.4 SVN版本控制28
1.4.1 SVN介紹28
1.4.2 SVN的安裝29
1.4.3 TortoiseSVN的簡單使用32
1.4.4 TortoiseSVN檔案管理35
1.4.5 SVN版本庫許可權配置38
1.5 小結40
第2章 面向對象基礎41
2.1 面向對象介紹42
2.2 PHP面向對象基礎43
2.2.1 class關鍵字43
2.2.2 類中的成員44
2.2.3 實例化類46
2.3 類中的方法47
2.3.1 方法的參數47
2.3.2 方法的返回值48
2.3.3 訪問修飾符49
2.3.4 $this關鍵字50
2.4 類的繼承50
2.4.1 子類繼承父類51
2.4.2 重寫父類中的成員屬性52
2.4.3 final關鍵字53
2.5 靜態類成員54
2.5.1 static關鍵字54
2.5.2 訪問靜態類成員(self::parent::)55
2.5.3 類常量57
2.6 小結58
第3章 類的高級特性59
3.1 類對象的克隆(clone)60
3.2 類接口(interface)60
3.2.1 接口的意義60
3.2.2 定義接口61
3.2.3 實現接口(implements)62
3.3 抽象類抽象方法64
3.3.1 理解抽象概念65
3.3.2 定義抽象類和方法(abstract)65
3.3.3 使用抽象類66
3.3.4 接口與抽象類的區別67
3.4 類的異常68
3.4.1 Exception類68
3.4.2 使用try、catch、throw語句69
3.5 小結70
實 戰 篇
第4章 PHP MVC發展狀況72
4.1 出身豪門的Zend Framework73
4.1.1 Zend Framework簡介73
4.1.2 安裝Zend Framework73
4.1.3 使用Zend Framework實現MVC75
4.1.4 Zend Framework核心組件76
4.2 功能強大的Symfony80
4.2.1 Symfony簡介80
4.2.2 獲得Symfony81
4.2.3 實現一個簡單的MVC82
4.2.4 Symfony的配置檔案85
4.3 靈活完善的CakePHP85
4.3.1 CakePHP簡介85
4.3.2 下載安裝CakePHP86
4.3.3 使用CakePHP構建MVC編程86
4.3.4 好用的CakePHP視圖助手89
4.4 使用廣泛的CodeIgniter89
4.4.1 CodeIgniter簡介89
4.4.2 安裝CodeIgniter90
4.4.3 使用CodeIgniter實現MVC91
4.5 高效便捷的ThinkPHP94
4.5.1 ThinkPHP介紹94
4.5.2 下載安裝ThinkPHP95
4.5.3 使用ThinkPHP實現MVC96
4.5.4 高效的ThinkPHP視圖引擎98
4.6 小結100
第5章 ThinkPHP開發入門101
5.1 大道至簡、開發由我102
5.1.1 入口檔案102
5.1.2 兩種創建項目的方式103
5.1.3 模組分組104
5.2 ThinkPHP目錄106
5.2.1 系統目錄106
5.2.2 項目目錄110
5.3 配置檔案111
5.3.1 選項配置111
5.3.2 靜態快取配置113
5.3.3 路由配置115
5.4 小結115
第6章 ThinkPHP開發MVC套用116
6.1 ThinkPHP中的URL117
6.1.1 URL模式117
6.1.2 URL路由119
6.1.3 自動生成匹配的URL121
6.1.4 實現檔案偽靜態122
6.2 模型(Model)123
6.2.1 創建模型123
6.2.2 實例化模型124
6.2.3 模型初始化(_initialize())125
6.3 控制器(Controller)126
6.3.1 創建控制器126
6.3.2 控制器中的動作(Action)126
6.3.3 控制器的調用128
6.3.4 項目空控制器與控制器空動作129
6.3.5 動作的前後操作131
6.4 視圖(View)132
6.4.1 創建和使用視圖132
6.4.2 系統變數與常量133
6.4.3 在視圖中使用函式134
6.4.4 數據循環135
6.4.5 條件判斷138
6.4.6 使用外部檔案141
6.4.7 導入標籤庫142
6.4.8 使用布局145
6.5 小結147
第7章 ThinkPHP的資料庫操作148
7.1 定義數據表模型149
7.1.1 模型映射149
7.1.2 自定義模型149
7.1.3 create方法151
7.1.4 模型屬性154
7.2 基礎模型(Model)158
7.2.1 連貫操作159
7.2.2 CURD159
7.2.3 查詢語言163
7.2.4 使用原生的SQL語言166
7.3 關聯模型(RelationModel)167
7.3.1 關聯關係167
7.3.2 關聯定義168
7.3.3 關聯模型的CURD169
7.4 高級模型(AdvModel)174
7.4.1 定位查詢174
7.4.2 動態查詢175
7.4.3 內容存文本176
7.5 大數據支持176
7.5.1 分散式資料庫177
7.5.2 讀寫分離179
7.5.3 數據表分區183
7.6 小結187
第8章 安全與調試188
8.1 構建穩健及安全的MVC189
8.2 ThinkPHP內置的安全機制189
8.2.1 表單令牌189
8.2.2 欄位檢測190
8.2.3 數據驗證193
8.2.4 數據驗證碼197
8.3 ThinkPHP安全日誌機制201
8.3.1 記錄方式201
8.3.2 系統日誌202
8.3.3 套用日誌202
8.4 使用訊息佇列機制204
8.4.1 HTTPSQS基礎204
8.4.2 安裝HTTPSQS205
8.4.3 測試HTTPSQS207
8.4.4 在MVC中使用HTTPSQS209
8.5 ThinkPHP程式調試機制212
8.5.1 開啟調試功能212
8.5.2 代碼編譯概念214
8.5.3 異常定製215
8.5.4 性能調試216
8.6 小結218
第9章 ThinkPHP功能庫220
9.1 數據處理221
9.1.1 XML引擎221
9.1.2 返回XML228
9.1.3 返回Json232
9.1.4 使用Json及Jsonp235
9.2 ThinkPHP函式館241
9.2.1 快捷方法241
9.2.2 基礎函式館242
9.2.3 擴展函式館245
9.3 ThinkPHP多語言支持248
9.3.1 部署多語言248
9.3.2 實現多語言249
9.3.3 多語言與客戶端250
9.4 客戶端252
9.4.1 封裝的Session252
9.4.2 封裝的Cookie256
9.5 小結257
第10章 網站靜態化259
10.1 Cache類260
10.1.1 快取的方式260
10.1.2 開啟快取260
10.1.3 安裝Memcached261
10.1.4 使用Memcached265
10.2 Memcached實戰套用267
10.2.1 頁面局部快取267
10.2.2 快取數據集267
10.2.3 使用Memcache存放Session270
10.3 使用Redis快取274
10.3.1 Redis的安裝274
10.3.2 安裝Redis擴展277
10.3.3 測試Redis279
10.3.4 Redis快取279
10.4 靜態快取282
10.4.1 靜態快取配置282
10.4.2 靜態快取規則283
10.5 小結286
第11章 ThinkPHP擴展287
11.1 使用擴展288
11.1.1 擴展的分類288
11.1.2 模板引擎擴展291
11.2 網路操作293
11.2.1 檔案上傳293
11.2.2 Nginx檔案上傳進度295
11.2.3 FTP檔案上傳304
11.2.4 下載檔案305
11.2.5 Socket套接字編程306
11.2.6 定位當前位置308
11.2.7 傳送電子郵件309
11.3 數據處理311
11.3.1 數據加密311
11.3.2 數據編碼轉換313
11.3.3 數據分頁314
11.3.4 日期數據315
11.3.5 Input類317
11.3.6 GD庫繪製圖形318
11.4 行為擴展320
11.4.1 行為概述320
11.4.2 內置行為擴展322
11.4.3 自定義行為擴展323
11.5 小結325
第12章 SOAP分散式開發326
12.1 分散式開發概念327
12.1.1 SOA與SOAP327
12.1.2 PHP 5分散式開發329
12.2 SOAP訊息體331
12.2.1 WSDL檔案331
12.2.2 定義根訊息體definitions335
12.2.3 type類型335
12.2.4 portType連線埠類型336
12.2.5 message訊息列表337
12.2.6 binding服務綁定描述337
12.2.7 service服務描述338
12.2.8 可視化創建WSDL338
12.2.9 使用nusoap創建WSDL341
12.2.10 ThinkPHP生成SOAP服務343
12.3 使用soapUI測試WSDL347
12.3.1 soapUI簡介347
12.3.2 安裝soapUI348
12.3.3 創建項目349
12.3.4 測試項目350
12.3.5 負載測試351
12.4 小結353
第13章 整合Smarty模板引擎354
13.1 Smarty模板引擎介紹355
13.2 使用Smarty356
13.2.1 在PHP中使用Smarty356
13.2.2 開啟ThinkPHP模板擴展358
13.2.3 以擴展的方式使用全功能Smarty358
13.3 Smarty模板函式和標籤360
13.3.1 include(包含檔案)361
13.3.2 capture(暫存數據)361
13.3.3 include_php(包含PHP檔案)362
13.3.4 insert(插入函式)362
13.3.5 literal(原文本輸出)363
13.3.6 php(執行PHP語句塊)363
13.3.7 strip(保留空格和回車符)364
13.4 Smarty模板控制語句364
13.4.1 if、elseif(判斷語句)364
13.4.2 foreach(循環數據)365
13.4.3 section(遍歷數組)366
13.5 變數調節器367
13.5.1 capitalize(首字母大寫)367
13.5.2 count_characters(統計字元)367
13.5.3 count_paragraphs(統計段落)367
13.5.4 count_sentences(統計句數)368
13.5.5 count_words(統計單詞)368
13.5.6 date_format(格式化日期)368
13.5.7 escape(字元轉碼)369
13.5.8 replace(字元替換)369
13.5.9 regex_replace(正則替換)370
13.5.10 truncate(字元截取)370
13.6 視圖助手370
13.6.1 html_image(生成圖像)370
13.6.2 html_options(生成表單選擇組件)371
13.6.3 html_radios(生成表單單選組件)372
13.6.4 html_checkboxes(生成表單複選組件)373
13.6.5 html_select_date(生成表單日期選擇組件)374
13.6.6 html_select_time(生成表單時間選擇組件)376
13.6.7 html_table(生成表格)377
13.7 Smarty對象方法378
13.7.1 display(顯示模板)378
13.7.2 fetch(獲取輸出內容)379
13.7.3 configLoad(載入配置信息)379
13.7.4 registerPlugin(註冊外掛程式)380
13.8 Smarty快取383
13.8.1 開啟快取383
13.8.2 局部快取384
13.9 小結386
第14章 整合Coreseek全文搜尋服務387
14.1 全文索引概述388
14.2 Coreseek基礎389
14.2.1 Coreseek概述389
14.2.2 在Windows下安裝Coreseek390
14.2.3 在Linux下安裝Coreseek394
14.3 Coreseek管理工具397
14.3.1 indexer397
14.3.2 searchd400
14.3.3 search402
14.4 創建索引403
14.4.1 索引源分類403
14.4.2 增量索引407
14.4.3 實時索引409
14.5 在MVC中搜尋數據412
14.5.1 安裝Sphinx擴展模組412
14.5.2 使用PHP接口413
14.5.3 在MVC中搜尋數據414
14.5.4 實現關鍵字高亮顯示418
14.6 小結420
第15章 使用MongoDB421
15.1 MongoDB介紹422
15.2 MongoDB的安裝424
15.2.1 在Windows下安裝MongoDB424
15.2.2 在Linux下安裝MongoDB426
15.3 MongoDB的使用428
15.3.1 理解MongoDB的數據結構428
15.3.2 資料庫管理429
15.3.3 文檔數據類型430
15.3.4 插入數據432
15.3.5 查詢數據433
15.3.6 更新數據436
15.3.7 刪除數據436
15.4 條件操作437
15.4.1 條件判斷語句437
15.4.2 $all匹配全部438
15.4.3 $exists 檢查欄位438
15.4.4 null 空值處理439
15.4.5 $ne比較439
15.4.6 $mod 取模運算440
15.4.7 $in、nin枚舉查詢440
15.4.8 $or、$nor判斷查詢441
15.4.9 $type映射查詢442
15.4.10 使用正則表達式匹配442
15.4.11 limit、skip 限制查詢443
15.4.12 count 查詢記錄條數444
15.4.13 sort 查詢結果排序444
15.5 性能最佳化445
15.5.1 使用索引445
15.5.2 固定集合448
15.5.3 GridFS450
15.5.4 Profile最佳化器450
15.6 在MVC中使用MongoDB451
15.6.1 安裝PHP擴展451
15.6.2 開啟MongoDB用戶驗證453
15.6.3 ThinkPHP操作MongoDB455
15.7 小結459
第16章 Redis實戰460
16.1 Redis的使用461
16.1.1 Redis概述461
16.1.2 常用管理命令462
16.1.3 Redis用戶驗證464
16.2 Redis數據類型465
16.2.1 String類型465
16.2.2 Hash類型467
16.2.3 List類型469
16.2.4 Sets類型473
16.2.5 Zset類型477
16.2.6 使用phpRedisAdmin480
16.3 Redis高級使用483
16.3.1 數據持久化483
16.3.2 虛擬記憶體484
16.3.3 事務處理484
16.3.4 主從同步486
16.4 在MVC中使用Redis487
16.4.1 在PHP中使用Redis487
16.4.2 在MVC中進行CURD操作491
16.4.3 數據分頁496
16.5 小結498
項 目 篇
第17章 開發論壇系統500
17.1 開發前準備501
17.1.1 系統介紹501
17.1.2 系統預覽501
17.1.3 架構設計505
17.1.4 系統部署511
17.2 系統整體界面設計513
17.2.1 布局方案514
17.2.2 論壇首頁516
17.2.3 論壇版塊519
17.3 用戶模組524
17.3.1 用戶登錄524
17.3.2 用戶註冊528
17.3.3 使用微博賬號登錄532
17.3.4 將現有賬號綁定到微博535
17.4 發表帖子模組537
17.4.1 整合百度編輯器537
17.4.2 上傳圖片540
17.4.3 管理圖片542
17.4.4 上傳附屬檔案543
17.4.5 數據提交處理544
17.5 帖子內容模組545
17.5.1 帖子正文545
17.5.2 回複列表547
17.5.3 回覆帖子550
17.6 帖子管理模組551
17.6.1 刪除帖子551
17.6.2 鎖定帖子553
17.6.3 置頂帖子554
17.6.4 推薦帖子554
17.7 行為攔截器555
17.7.1 統計瀏覽量555
17.7.2 登記瀏覽位置556
17.8 帖子搜尋模組557
17.8.1 標題搜尋557
17.8.2 使用全文搜尋558
17.9 小結562
第18章 開發自己的MVC框架563
18.1 開發前準備564
18.1.1 開發MVC框架的思路564
18.1.2 檔案結構564
18.2 核心類庫565
18.2.1 初始化565
18.2.2 URL處理566
18.3 控制器的開發567
18.3.1 類自動載入568
18.3.2 載入模板引擎(View)569
18.3.3 處理訊息(message)569
18.4 模型的開發572
18.4.1 使用PDO572
18.4.2 模型實例化573
18.4.3 實現連貫操作573
18.4.4 讀取數據574
18.4.5 插入數據576
18.4.6 更新數據577
18.4.7 刪除數據578
18.5 擴展類庫582
18.5.1 Session驅動擴展583
18.5.2 快取驅動擴展586
18.6 測試MVC框架588
18.6.1 創建項目589
18.6.2 測試CURD590
18.6.3 測試驅動594
18.7 小結595
附錄596
附錄A 讓Nginx支持Pathinfo模式596
附錄B 配置團隊開發環境597
"

相關詞條

熱門詞條

聯絡我們