內容簡介
《PHP和MySQL Web開發(原書第4版)》將PHP開發與MySQL應用相結閤,分彆對PHP和MySQL做瞭深入淺齣的分析,不僅介紹PHP和MySQL的一般概念,而且對PHP和MySQL的Web應用做瞭較全麵的闡述,並包括幾個經典且實用的例子。
《PHP和MySQL Web開發(原書第4版)》是第4版,經過瞭全麵的更新、重寫和擴展,包括PHP 5.3改進的特性(例如,更好的錯誤和異常處理),MySQL的存儲過程和存儲引擎,Ajax技術與Web 2.0以及Web應用需要注意的安全問題。
PHP平IEIMySQL是非常流行的開源技術,它們非常適閤快速開發數據庫驅動的Web應用。PHP是一種功能強大的腳本語言,專門用於快速創建高性能的Web應用,而MySQL則是一個快速而又可靠的數據庫,它能很好地與PHP集成,適用於基於互聯網的動態應用。
《PHP和MySQL Web開發(原書第4版)》介紹瞭如何使用這些工具創建高效和交互式的Web應用。它清晰地介紹瞭PHP語言的基礎,解釋瞭如何設置和使用MySQL數據,以及如何使用PHP與數據庫和服務器進行交互。
《PHP和MySQL Web開發(原書第4版)》非常實用,包括大量實際應用中的例子。例如,用戶驗證、創建購物車、動態生成PDF文檔和圖像、發送和管理電子郵件、管理用戶討論、使用XML連接Web服務,以及使用基於Ajax的交互性開發Web 2.0應用。
與上一版相比,本書經過瞭更新、重寫以及擴展,並涵蓋瞭PHP 5到5.3的所有特性,例如命名空間和閉包以及MySQL 5.1引入的特性。
作者簡介
Laura Thomson,Mozilla公司的高級軟件工程師。之前,她是OmniTI公司和Tangled Web Design公司的閤夥人。此外,Laura曾經在RMIT大學和波士頓顧問集團工作過。她獲得瞭應用科學(計算機科學)的學士學位和工程學(計算機係統工程)學士學位。在她的空閑時間,她非常喜歡騎馬,討論免費軟件和開源軟件以及睡覺。
Luke Welling,OmniTI公司的一位Web架構師,他經常在一些國際會議(例如,OSCON,ZendCon,MySQLUC,HPCon,OSDC以及LinuxTag)中就開源和Web開發的話題發錶演講。在加入OmniTI公司之前,他曾作為數據庫提供商的Web分析師為Hitwise.com公司工作。此外,他還是Tangled Web Design公司的獨立顧問。他還在澳大利亞墨爾本的RMIT大學教授計算機科學課程。他獲得瞭應用科學(計算機科學)的學士學位。在他的空閑時間,他希望治好他的失眠癥。
其他參與者:
Julie C. Meloni,i2i Interactive 公司的技術總監,這是一傢位於加利弗裏亞Los Altos的多媒體公司。她從Web一問世以及齣現GUI Web瀏覽器時就緻力於基於Web的應用開發。她編著過大量書籍,撰寫過大量關於Web開發語言和數據的問題,其中包括銷售情況良好的《Sams Teach Yourself PHP,MySQL, and Apache All in One》。
Adam DeFields,Web應用開發方麵,項目管理以及UI設計方麵的顧問。他居住在密歇根的Grand Rapids。在這個城市,有他自己的公司Emanation Systems,LLC,這是一傢在2002年成立的公司。他參加過使用不同技術實現的Web開發項目,但是,他還是喜歡開發基於PHP/MySQL的項目。
Marc Wandschneider,一個軟件開發方麵的自由職業者,此外他還是作傢和演講者,經常在全球範圍參與有意思的項目開發。最近,他的注意力集中在編寫健壯和可擴展的Web應用。在2005年,他編寫瞭一本名為《Core Web Application Programming with PHP and MySQL》的圖書。此前,他是SWiK開源社區的主要開發人員。目前,Marc居住在北京,他將他的時間花在中文學習和編程。
目錄
讀者反饋
譯者序
前言
作者簡介
第一篇 使用PHP
第1章 PHP快速入門教程
1.1 開始之前:瞭解PHP
1.2 創建一個示例應用:Bob汽車零部件商店
1.2.1 創建訂單錶單
1.2.2 錶單處理
1.3 在HTML中嵌入PHP
1.3.1 使用PHP標記
1.3.2 PHP語句
1.3.3 空格
1.3.4 注釋
1.4 添加動態內容
1.4.1 調用函數
1.4.2 使用date()函數
1.5 訪問錶單變量
1.5.1 簡短、中等以及長風格的錶單變量
1.5.2 字符串的連接
1.5.3 變量和文本
1.6 理解標識符
1.7 檢查變量類型
1.7.1 PHP的數據類型
1.7.2 類型強度
1.7.3 類型轉換
1.7.4 可變變量
1.8 聲明和使用常量
1.9 理解變量的作用域
1.10 使用操作符
1.10.1 算術操作符
1.10.2 字符串操作符
1.10.3 賦值操作符
1.10.4 比較操作符
1.10.5 邏輯操作符
1.10.6 位操作符
1.10.7 其他操作符
1.11 計算錶單總金額
1.12 理解操作符的優先級和結閤性:
1.13 使用可變函數
1.13.1 測試和設置變量類型
1.13.2 測試變量狀態
1.13.3 變量的重解釋
1.14 根據條件進行決策
1.14.1 if語句
1.14.2 代碼塊
1.14.3 else語句
1.14.4 elseif語句
1.14.5 switch語句
1.14.6 比較不同的條件
1.15 通過迭代實現重復動作
1.15.1 while循環
1.15.2 for和foreach循環
1.15.3 do...while循環
1.16 從控製結構或腳本中跳齣
1.17 使用可替換的控製結構語法
1.18 使用declare
1.19 下一章
第2章 數據的存儲與檢索
2.1 保存數據以便後期使用
2.2 存儲和檢索Bob的訂單
2.3 文件處理
2.4 打開文件
2.4.1 選擇文件模式
2.4.2 使用fopen()打開文件
2.4.3 通過FTP或HTTP打開文件
2.4.4 解決打開文件時可能遇到的問題
2.5 寫文件
2.5.1 fwrite()的參數
2.5.2 文件格式
2.6 關閉文件
2.7 讀文件
2.7.1 以隻讀模式打開文件:fopen()
2.7.2 知道何時讀完文件:feof()
2.7.3 每次讀取一行數據:fgets()、fgetss()和fgetcsv()
2.7.4 讀取整個文件:readfile()、fpassthru()和file()
2.7.5 讀取一個字符:fgetc()
2.7.6 讀取任意長度:fread()
2.8 使用其他有用的文件函數
2.8.1 查看文件是否存在:file_exists()
2.8.2 確定文件大小:filesize()
2.8.3 刪除一個文件:unlink()
2.8.4 在文件中定位:rewind()、fseek()和ftell()
2.9 文件鎖定
2.10 更好的方式:數據庫管理係統
2.10.1 使用普通文件的幾個問題
2.10.2 RDBMS是如何解決這些問題的
2.11 進一步學習
2.12 下一章
第3章 使用數組
3.1 什麼是數組
3.2 數字索引數組
3.2.1 數字索引數組的初始化
3.2.2 訪問數組的內容
3.2.3 使用循環訪問數組
3.3 使用不同索引的數組
3.3.1 初始化相關數組
3.3.2 訪問數組元素
3.3.3 使用循環語句
3.4 數組操作符
3.5 多維數組
3.6 數組排序
3.6.1 使用sort()函數
3.6.2 使用asort()函數和ksort()函數對相關數組排序
3.6.3 反嚮排序
3.7 多維數組的排序
3.7.1 用戶定義排序
3.7.2 反嚮用戶排序
3.8 對數組進行重新排序
3.8.1 使用shuffle()函數
3.8.2 使用array_reverse()函數
3.9 從文件載入數組
3.10 執行其他的數組操作
3.10.1 在數組中瀏覽:each()、current()、reset()、end()、next()、pos()和prev()
3.10.2 對數組的每一個元素應用任何函數:array_walk()
3.10.3 統計數組元素個數:count()、sizeof()和array_count_values()
3.10.4 將數組轉換成標量變量:extract()
3.11 進一步學習
3.12 下一章
第4章 字符串操作與正則錶達式
4.1 創建一個示例應用程序:智能錶單郵件
4.2 字符串的格式化
4.2.1 字符串的整理:chop()、ltrim()和trim()
4.2.2 格式化字符串以便顯示
4.2.3 格式化字符串以便存儲:addslashes()和stripslashes()
4.3 用字符串函數連接和分割字符串
4.3.1 使用函數explode()、implode()和join()
4.3.2 使用strtok()函數
4.3.3 使用substr()函數
4.4 字符串的比較
4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp()
4.4.2 使用strlen()函數測試字符串的長度
4.5 使用字符串函數匹配和替換子字符串
4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr()
4.5.2 查找子字符串的位置:strpos()、strrpos()
4.5.3 替換子字符串:str_replace()、substr_replace()
4.6 正則錶達式的介紹
4.6.1 基礎知識
4.6.2 字符集和類
4.6.3 重復
4.6.4 子錶達式
4.6.5 子錶達式計數
4.6.6 定位到字符串的開始或末尾
4.6.7 分支
4.6.8 匹配特殊字符
4.6.9 特殊字符一覽
4.6.10 在智能錶單中應用
4.7 用正則錶達式查找子字符串
4.8 使用正則錶達式分割字符串
4.9 比較字符串函數和正則錶達式函數
4.10 進一步學習
4.11 下一章
第5章 代碼重用與函數編寫
5.1 代碼重用的好處
5.1.1 成本
5.1.2 可靠性
5.1.3 一緻性
5.2 使用require()和include()函數
5.2.1 文件擴展名和require()語句
5.2.2 使用require()製作Web站點的模版
5.2.3 使用auto_prepend_file和auto_append_file
5.3 在PHP中使用函數
5.3.1 調用函數
5.3.2 調用未定義的函數
5.3.3 理解字母大小寫和函數名稱
5.4 理解為什麼要定義自己的函數
5.5 瞭解基本的函數結構
5.5.1 函數命名
5.6 使用參數
5.7 理解作用域
5.8 參數的引用傳遞和值傳遞
5.9 使用Return關鍵字
5.9.1 從函數返迴一個值
5.10 實現遞歸
5.10.1 名稱空間
5.11 進一步學習
5.12 下一章
第6章 麵嚮對象的PHP
6.1 理解麵嚮對象的概念
6.1.1 類和對象
6.1.2 多態性
6.1.3 繼承
6.2 在PHP中創建類、屬性和操作
6.2.1 類的結構
6.2.2 構造函數
6.2.3 析構函數
6.3 類的實例化
6.4 使用類的屬性
6.5 使用private和public關鍵字控製訪問
6.6 類操作的調用
6.7 在PHP中實現繼承
6.7.1 通過繼承使用private和protected訪問修飾符控製可見性
6.7.2 重載
6.7.3 使用final關鍵字禁止繼承和重載
6.7.4 理解多重繼承
6.7.5 實現接口
6.8 類的設計
6.9 編寫類代碼
6.10 理解PHP麵嚮對象新的高級功能
6.10.1 使用Per-Class常量
6.10.2 實現靜態方法
6.10.3 檢查類的類型和類型提示
6.10.4 剋隆對象
6.10.5 使用抽象類
6.10.6 使用__call()重載方法
6.10.7 使用__autoload()方法
6.10.8 實現迭代器和迭代
6.10.9 將類轉換成字符串
6.10.10 使用Reflection(反射)API
6.11 下一章
第7章 錯誤和 異常處理
7.1 異常處理的概念
7.2 Exception類
7.3 用戶自定義異常
7.4 Bob的汽車零部件商店應用程序的異常
7.5 異常和PHP的其他錯誤處理機製
7.6 進一步學習
7.7 下一章
第二篇 使用MySQL
第8章 設計Web數據庫
8.1 關係數據庫的概念
8.1.1 錶格
8.1.2 列
8.1.3 行
8.1.4 值
8.1.5 鍵
8.1.6 模式
8.1.7 關係
8.2 如何設計Web數據庫
8.2.1 考慮要建模的實際對象
8.2.2 避免保存冗餘數據
8.2.3 使用原子列值
8.2.4 選擇有意義的鍵
8.2.5 考慮需要詢問數據庫的問題
8.2.6 避免多個空屬性的設計
8.2.7 錶格類型的總結
8.3 Web數據庫架構
8.4 進一步學習
8.5 下一章
第9章 創建Web數據庫
9.1 使用MySQL監視程序
9.2 登錄到MySQL
9.3 創建數據庫和用戶
9.4 設置用戶與權限
9.5 MySQL權限係統的介紹
9.5.1 最少權限原則
9.5.2 創建用戶:GRANT命令
9.5.3 權限的類型和級彆
9.5.4 REVOKE命令
9.5.5 使用GRANT和REVOKE的例子
9.6 創建一個Web用戶
9.7 使用正確的數據庫
9.8 創建數據庫錶
9.8.1 理解其他關鍵字的意思
9.8.2 理解列的類型
9.8.3 用SHOW和DESCRIBE來查看數據庫
9.8.4 創建索引
9.9 理解MySQL的標識符
9.10 選擇列數據類型
9.10.1 數字類型
9.10.2 日期和時間類型
9.10.3 字符串類型
9.11 進一步學習
9.12 下一章
第10章 使用MySQL數據庫
10.1 SQL是什麼
10.2 在數據庫中插入數據
10.3 從數據庫中獲取數據
10.3.1 獲取滿足特定條件的數據
10.3.2 從多個錶中獲取數據
10.3.3 以特定的順序獲取數據
10.3.4 分組與閤計數據
10.3.5 選擇要返迴的行
10.3.6 使用子查詢
10.4 更新數據庫記錄
10.5 創建後修改錶
10.6 刪除數據庫中的記錄
10.7 錶的刪除
10.8 刪除整個數據庫
10.9 進一步學習
10.10 下一章
第11章 使用PHP從Web訪問MySQL數據庫
11.1 Web數據庫架構的工作原理
11.2 從Web查詢數據庫的基本步驟
11.2.1 檢查與過濾用戶輸入數據
11.2.2 建立一個連接
11.2.3 選擇使用的數據庫
11.2.4 查詢數據庫
11.2.5 檢索查詢結果
11.2.6 從數據庫斷開連接
11.3 將新信息放入數據庫
11.4 使用Prepared語句
11.5 使用PHP與數據庫交互的其他接口
11.5.1 使用常規的數據庫接口:PEAR MDB2
11.6 進一步學習
11.7 下一章
第12章 MySQL高級管理
12.1 深入理解權限係統
12.1.1 user錶
12.1.2 db錶和host錶
12.1.3 tables_priv錶,columns_priv錶和procs_priv錶
12.1.4 訪問控製:MySQL如何使用Grant錶
12.1.5 更新權限:修改什麼時候生效
12.2 提高MySQL數據庫的安全性
12.2.1 從操作係統角度來保護MySQL
12.2.2 密碼
12.2.3 用戶權限
12.2.4 Web問題
12.3 獲取更多關於數據庫的信息
12.3.1 使用SHOW獲取信息
12.3.2 使用DESCRIBE獲取關於列的信息
12.3.3 用EXPLAIN理解查詢操作的工作過程
12.4 數據庫的優化
12.4.1 設計優化
12.4.2 權限
12.4.3 錶的優化
12.4.4 使用索引
12.4.5 使用默認值
12.4.6 其他技巧
12.5 備份MySQL數據庫
12.6 恢復MySQL數據庫
12.7 實現復製
12.7.1 設置主服務器
12.7.2 執行初始的數據傳輸
12.7.3 設置一個/多個從服務器
12.8 進一步學習
12.9 下一章
第13章 MySQL高級編程
13.1 LOAD DATA INFILE語句
13.2 存儲引擎
13.3 事務
13.3.1 理解事務的定義
13.3.2 通過InnoDB使用事務
13.4 外鍵
13.5 存儲過程
13.5.1 基本示例
13.5.2 局部變量
13.5.3 遊標和控製結構
13.6 進一步學習
13.7 下一章
第三篇 電子商務與安全性
第14章 運營一個電子商務網站
14.1 我們要實現什麼目標
14.2 考慮電子商務網站的類型
14.2.1 使用在綫說明書公布信息
14.2.2 接收産品或服務的訂單
14.2.3 提供服務和數字産品
14.2.4 為産品或服務增值
14.2.5 減少成本
14.3 理解風險和威脅
14.3.1 網絡黑客
14.3
PHP和MySQL Web開發(原書第4版) [PHP and MySQL Web Development, Fourth Edition] 下載 mobi epub pdf txt 電子書 格式
PHP和MySQL Web開發(原書第4版) [PHP and MySQL Web Development, Fourth Edition] 下載 mobi pdf epub txt 電子書 格式 2024
PHP和MySQL Web開發(原書第4版) [PHP and MySQL Web Development, Fourth Edition] mobi epub pdf txt 電子書 格式下載 2024