PHP網站開發實例教程(第2版)
內容描述
本書面向已經具有PHP編程基礎的人群,講解如何運用PHP開發動態網站。在企業中,一般都是採用框架進行項目開發,為了提高本書的實戰性,書中講解了從開發一個自定義框架到利用該框架開發一個“內容管理系統”項目的全過程,以及市面上非常流行的Laravel框架的基礎知識,幫助讀者既能理解框架的實現原理,又能掌握項目的開發技術。全書共8章。第1章講解PHP開發環境的搭建,第2章、第3章講解PHP框架的基礎知識,第4章講解框架中的數據庫操作(PDO擴展)和模板引擎的使用,第5章、第6章講解內容管理系統的開發實戰,第7章、第8章講解Laravel框架的基礎知識。本書既可作為高等院校本、專科電腦相關專業的PHP動態網站開發課程的教材,也可作為廣大IT技術人員和編程愛好者的參考讀物。
目錄大綱
第 1章 開發環境搭建 001學習目標 0011.1 安裝Visual Studio Code 0011.2 搭建WAMP環境 0021.2.1 安裝Apache 0031.2.2 安裝PHP 0061.2.3 安裝MySQL 0081.3 安裝Composer依賴管理工具 0111.4 Web服務器配置 0121.4.1 配置虛擬主機 0121.4.2 訪問權限控制 0131.4.3 【案例】按照要求配置虛擬主機 014本章小結 016課後練習 016第 2章 PHP框架基礎(上) 018學習目標 0182.1 初識框架 0182.1.1 什麽是框架 0182.1.2 常見的PHP框架 0192.2 MVC設計模式 0192.2.1 什麽是MVC 0192.2.2 【案例】體驗MVC設計模式 0202.3 框架的單一入口和路由 0242.3.1 什麽是單一入口 0242.3.2 【案例】單一入口的實現 0252.3.3 【案例】隱藏入口文件 0262.3.4 框架中的路由 0262.3.5 【案例】路由的代碼實現 0272.4 命名空間 0272.4.1 命名空間的定義 0272.4.2 命名空間的使用 0292.4.3 導入命名空間 0302.5 自動加載 0332.5.1 註冊自動加載函數 0332.5.2 註冊多個自動加載函數 0342.5.3 註冊自動加載方法 0352.6 代碼規範 0352.6.1 PSR規範 0352.6.2 配置VS Code編輯器 037本章小結 039課後練習 039第3章 PHP框架基礎(下) 041學習目標 0413.1 創建自定義框架 0413.1.1 創建目錄結構 0413.1.2 使用Composer實現自動加載 0423.1.3 使用Composer管理項目依賴 0443.1.4 【案例】創建自己的包 0463.2 框架基礎搭建 0483.2.1 App類 0483.2.2 Request類 0503.2.3 Response類 0523.2.4 Container類 0533.3 反射 0553.3.1 反射API 0553.3.2 【案例】利用反射實現依賴註入 0573.4 異常處理 0613.4.1 異常的拋出和捕獲 0613.4.2 自定義異常 0623.4.3 多異常捕獲處理 0643.4.4 【案例】在框架中處理異常 065本章小結 066課後練習 067第4章 數據庫和模板引擎 069學習目標 0694.1 PDO擴展 0694.1.1 開啟PDO擴展 0694.1.2 連接和選擇數據庫 0694.1.3 執行SQL語句 0704.1.4 處理結果集 0714.1.5 預處理機制 0734.1.6 為占位符綁定數據 0744.1.7 PDO錯誤處理 0754.1.8 PDO事務處理 0774.2 【案例】封裝DB類 0784.2.1 連接數據庫 0784.2.2 封裝查詢類操作 0814.2.3 封裝執行類操作 0824.3 【案例】封裝Model類 0834.3.1 初始化表名 0834.3.2 查詢數據 0844.3.3 新增數據 0884.3.4 修改數據 0904.3.5 刪除數據 0914.4 Smarty模板引擎 0924.4.1 安裝Smarty 0924.4.2 在框架中使用Smarty 0924.4.3 Smarty常用模板語法 095本章小結 096課後練習 096第5章 內容管理系統(上) 098學習目標 0985.1 項目展示 0985.2 後台用戶登錄 1005.2.1 創建用戶表 1005.2.2 顯示登錄頁面 1015.2.3 Ajax交互 1035.2.4 接收登錄表單 1065.2.5 判斷登錄狀態 1075.2.6 退出登錄 1105.3 驗證碼 1115.3.1 編寫驗證碼類 1115.3.2 輸出驗證碼圖像 1135.3.3 判斷驗證碼是否正確 1145.4 後台頁面搭建 1155.4.1 後台佈局 1165.4.2 左側菜單 1195.4.3 後台首頁 1205.5 欄目管理 1215.5.1 創建欄目表 1225.5.2 顯示欄目列表 1225.5.3 添加和修改欄目 1245.5.4 刪除欄目 127本章小結 128課後練習 128第6章 內容管理系統(下) 130學習目標 1306.1 文章管理 1306.1.1 創建文章表 1306.1.2 顯示文章列表 1316.1.3 分頁查詢文章 1336.1.4 添加和修改文章 1376.1.5 文件上傳 1416.1.6 刪除文章 1446.2 前臺首頁 1456.2.1 頁面佈局 1456.2.2 欄目導航 1476.2.3 輪播圖 1496.2.4 文章列表 1506.2.5 側邊欄 1526.3 文章展示 1546.3.1 顯示文章內容 1546.3.2 記錄閱讀量 1566.3.3 查詢上一篇和下一篇 157本章小結 158課後練習 158第7章 Laravel框架(上) 1607.1 初識Laravel 1607.1.1 Laravel概述 1607.1.2 創建Laravel項目 1607.1.3 配置VS Code編輯器 1627.1.4 Laravel的目錄結構 1627.2 路由 1647.2.1 配置路由 1647.2.2 路由參數 1657.2.3 路由別名 1657.2.4 路由分組 1667.3 控制器 1677.3.1 創建控制器 1677.3.2 控制器路由 1687.3.3 接收用戶輸入 1687.4 數據庫操作 1707.4.1 配置數據庫 1717.4.2 添加數據 1737.4.3 修改數據 1747.4.4 查詢數據 1757.4.5 刪除數據 1767.4.6 執行SQL語句 1777.5 視圖 1777.5.1 創建視圖文件 1777.5.2 向視圖傳遞數據 1787.5.3 視圖數據的處理 1797.5.4 循環操作 1807.5.5 判斷操作 1817.5.6 模板繼承 1817.5.7 模板包含 1837.6 防禦CSRF攻擊 1847.6.1 什麽是CSRF攻擊 1857.6.2 在Laravel中防禦CSRF攻擊 1857.6.3 從CSRF驗證中排除例外路由 1877.7 模型 1887.7.1 定義模型 1887.7.2 在控制器中使用模型 1897.7.3 利用模型添加數據 1897.7.4 利用模型查詢數據 1907.7.5 利用模型修改數據 1917.7.6 利用模型刪除數據 1927.8 自動驗證 1927.8.1 如何進行自動驗證 1927.8.2 在Ajax請求中使用自動驗證 195本章小結 196課後練習 196第8章 Laravel框架(下) 1988.1 常見功能開發 1988.1.1 響應控制 1988.1.2 會話控制 1998.1.3 文件上傳 2008.1.4 數據分頁 2018.1.5 驗證碼 2038.2 緩存操作 2068.2.1 緩存配置 2068.2.2 添加緩存 2078.2.3 讀取緩存 2078.2.4 刪除緩存 2088.2.5 緩存數值自增或自減 2088.3 數據表的遷移和填充 2098.3.1 數據表遷移 2098.3.2 數據表填充 2128.4 連接查詢 2138.5 關聯模型 2158.5.1 一對一 2158.5.2 一對多 2168.5.3 多對一 2178.5.4 多對多 217本章小結 220課後練習 220
作者介紹
黑马程序员,传智播客旗下高端IT教育品牌,它是由中国Java培训第一人张孝祥老师发起,联合全球最大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业。