PHP Web程式設計
PHP Web programming
課程程式碼
_
適用層次
本科
總學時
48 / 72
理論學時
32 / 48
實踐教學學時
實驗學時0 / 上機學時32
實驗(或上機)學時
16 / 24
學分
3
01.
教學目的與要求
本課程是計算機應用技術、網路技術以及資訊管理技術專業的一門專業課,主要介紹PHP程式設計語言的基本語法以及程式設計方法。通過本課程的學習,使學生掌握PHP語言的基礎知識、基本語法以及程式設計方法,並能熟練應用於中小型Web專案的開發中。
學習本課程,要求學生全面理解PHP程式設計語言的語法結構和執行原理,掌握PHP Web應用程式的開發規範與方法,掌握PHP的物件導向技術、MySQL資料庫互動技術,以及這些技術與HTML標記語言結合進行Web應用開發的技巧,能夠獨立設計出具有一定實用價值的Web應用專案,為進一步學習PHP的框架技術、進行企業級Web專案開發打下堅實的基礎。
教師的授課要求:
可採用課堂講授,課堂討論,習題課等形式進行課堂教學;採用電子教案,視訊,同步演示等形式加強教學效果;每章佈置2~4道習題以鞏固教學內容;安排5~8個上機實驗題以使理論與實際相結合(72學時:每章佈置3~5道習題以鞏固教學內容;安排8~12個上機實驗題以使理論與實際相結合)。
02.
課程簡介
本課程介紹PHP Web程式設計的基礎知識,主要包括開發環境的搭建、網頁設計基礎、PHP基本語法、PHP流程控制與函式、字串與陣列、PHP結構化程式設計、PHP物件導向程式設計、MySQL資料庫、PHP與MySQL的互動、PHP的檔案操作、PHP的影像與郵件操作,以及PHP的Smarty模板等內容。
本課程以一個小型的實際專案為依託,詳細介紹使用PHP程式設計語言進行Web應用開發的技術規範、開發流程,以及開發者必備的基本技術。課程教學以案例為主線,採用循序漸進、逐步展開的方式,詳細講解各個知識點及其應用技巧,通過具體案例,使學生能夠融合程式設計語言、資料庫、網頁製作等專業知識,更好地進行專案的開發實踐。
03.
教學內容及學時安排
第1章 PHP Web開發環境(2學時/2學時)
教學內容:Web應用的體系結構;Web應用開發技術;PHP Web開發環境。
掌 握:Web應用的體系結構;PHP Web開發環境。
理 解:Web應用的體系結構。
了 解:Web應用開發技術。
重 點:PHP Web開發環境。
難 點:PHP Web開發環境的搭建
內容詳情:
1.1 Web應用的體系結構
1.1.1 C/S架構
1.1.2 B/S架構
1.2 Web應用開發技術
1.2.1 Web應用元件
1.2.2 Web前端技術
1.2.3 Web後端技術
1.2.4 Web應用開發平臺
1.3 開發環境的搭建
1.3.1 執行環境
1.3.2 整合軟體包
1.3.3 常用開發工具
1.4 第一個PHPWeb應用
1.5 應用例項
第2章 Web設計基礎(0學時/4學時)
教學內容:HTML語言;CSS樣式;JavaScript語言;JavaScript框架。
掌 握:HTML語言;CSS樣式。
理 解:JavaScript程式設計語言的基本語法。
了 解:JavaScript的常用框架(JQuery)。
重 點:HTML語言;CSS樣式。
難 點:HTML、CSS與JavaScript的融合。
內容詳情:
2.1 HTML語言
2.1.1 HTML文件結構
2.1.2 HTML元素
2.1.3 常用HTML標籤
2.1.4 常用特殊符號
2.2 CSS樣式
2.2.1 CSS樣式的使用
2.2.2 CSS語法
2.2.3 CSS選擇器
2.2.4 常用CSS屬性
2.3 JavaScript指令碼語言
2.3.1 JavaScript的簡單應用
2.3.2 JavaScript基本語法
2.3.3 JavaScript事件
2.3.4 JavaScript物件
2.4 JavaScript框架
2.4.1 jQuery簡介
2.4.2 jQuery基本語法
2.4.3 jQuery選擇器與事件
2.4.4 jQuery操作CSS樣式
2.5 應用例項
第3章 PHP基本語法(4學時/4學時)
教學內容:PHP概述;詞法結構;資料型別;常量與變數;運算子與表示式;資料型別轉換。
掌 握:PHP的詞法結構;資料型別;常量與變數;運算子與表示式;資料型別的顯式與隱式轉換方法。
理 解:PHP基本語法與其他程式設計語言,比如C語言、Java語言,在語法上的異同。
了 解:PHP的高低版本語法差異。
重 點:PHP的資料型別、常量與變數、運算子與表示式。
難 點:PHP中資料型別的轉換、表示式的值。
內容詳情:
3.1 PHP簡介
3.1.1 PHP的發展
3.1.2 PHP的特點
3.2 詞法結構
3.2.1 字符集
3.2.2 詞法記號
3.2.3 語言標記
3.2.4 語句及註釋
3.3 資料型別
3.3.1 標量資料型別
3.3.2 複合資料型別
3.3.3 特殊資料型別
3.4 常量與變數
3.4.1 常量
3.4.2 變數
3.5 運算子與表示式
3.5.1 基本概念
3.5.2 算術運算子與算術表示式
3.5.3 賦值運算子與賦值表示式
3.5.4 關係運算子與關係表示式
3.5.5 邏輯運算子與邏輯表示式
3.5.6 位運算子
3.5.7 條件運算子
3.5.8 字串運算子
3.5.9 其他運算子
3.5.10 運算子的優先順序與結合性
3.6 資料型別轉換
3.6.1 隱式轉換
3.6.2 顯式轉換
3.7 應用例項
第4章流程控制及函式(4學時/4學時)
教學內容:PHP的基本控制結構;流程控制語句;PHP的內建函式與自定義函式。
掌 握:PHP的基本控制結構,包括順序結構、選擇結構與迴圈結構;流程控制語句;PHP的自定義函式。
理 解:PHP自定義函式的呼叫與引數傳遞。
了 解:PHP的內部函式、回撥函式;某些特殊的內建函式
重 點:PHP的流程控制與自定義函式。
難 點:PHP函式的定義與呼叫。
內容詳情:
4.1 基本控制結構
4.1.1 選擇結構
4.1.2 迴圈結構
4.2 流程控制語句
4.2.1 break語句
4.2.2 continue語句
4.2.3 goto語句
4.2.4 exit語句
4.3 PHP函式
4.3.1 函式的定義
4.3.2 函式的呼叫及引數傳遞
4.3.3 變數的作用域
4.3.4 內建函式
4.4 應用例項
第5章字串與陣列(4學時/4學時)
教學內容:PHP字串的指定方法、輸出與處理;正規表示式;陣列的定義、陣列元素的訪問與常用操作。
掌 握:PHP中字串的常用處理方法;陣列的定義與使用、PHP預定義陣列。
理 解:正規表示式。
了 解:PHP字串的特殊處理方法;PHP高低版本中預定義陣列使用的差異。
重 點:字串的處理;陣列的定義與使用
難 點:字串的處理;陣列的遍歷
內容詳情:
5.1 字串
5.1.1 字元與字符集
5.1.2 字串的指定方法
5.1.3 字串的輸出
5.1.4 字串常用操作
5.2 正規表示式
5.2.1正規表示式簡介
5.2.2 正規表示式基礎語法
5.2.3 正規表示式函式
5.3 陣列
5.3.1 陣列的分類
5.3.2 陣列的建立
5.3.3 陣列的操作
5.3.4 預定義陣列
5.4 應用例項
第6章結構化程式設計(4學時/6學時)
教學內容:HTTP協議;PHP程式的資料輸入;頁面通訊;結構化程式設計方法。
掌 握:PHP程式的資料輸入方法;PHP Web應用網頁頁面資料交換。
理 解:PHP Web應用的結構化程式設計方法。
了 解:HTTP協議;PHP的名稱空間。
重 點:PHP資料的輸入方法;Sessiong與Cookie技術
難 點:PHP Web應用網頁頁面資料交換方式。
內容詳情:
6.1 HTTP協議基礎
6.1.1 HTTP通訊機制
6.1.2 HTTP請求與響應資訊
6.1.3 HTTP請求方法
6.2 PHP的資料輸入
6.2.1 瀏覽器端資料輸入
6.2.2 請求路徑的表示方法
6.2.3 伺服器端資料輸入
6.3 PHP的頁面通訊
6.3.1 重定向方式
6.3.2 Cookie技術
6.3.3 Session技術
6.4 結構化程式設計
6.4.1檔案包含
6.4.2自定義函式庫
6.4.3 名稱空間
6.5 綜合例項
第7章物件導向程式設計(4學時/6學時)
教學內容:物件導向概述;類與物件;建構函式與解構函式;繼承與多型;物件導向的高階特性與魔術方法。
掌 握:類的定義;物件的使用;PHP的物件導向程式設計方法。
理 解:PHP物件行為的多型性;PHP中的魔術方法。
了 解:PHP物件導向的某些高階特性。
重 點:類與物件;繼承。
難 點:類的定義,類的繼承。
內容詳情:
7.1 物件導向概述
7.2 類與物件
7.2.1類的定義
7.2.2類的物件
7.2.3物件成員的訪問控制
7.2.4 類常量與靜態成員
7.3 建構函式與解構函式
7.3.1 建構函式
7.3.2 解構函式
7.4 繼承與多型
7.4.1 類的繼承
7.4.2 多型的實現
7.5 高階特性與魔術方法
7.5.1 高階特性
7.5.2 魔術方法
7.6 綜合例項
第8章 MySQL資料庫(0學時/2學時)
教學內容:MySQL資料庫基礎;資料庫操作;資料表操作;表資料操作
掌 握:MySQL資料庫的各種操作方法。
理 解:MYSQL資料庫原理。
了 解:MYSQL儲存引擎。
重 點:MySQL資料庫的各種操作方法。
難 點:對MySQL資料表及資料的操作。
內容詳情:
8.1 MySQL基礎
8.1.1 MySQL伺服器與客戶機
8.1.2 MySQL字符集
8.1.3 MySQL資料型別
8.1.4 MySQL儲存引擎
8.2 資料庫操作
8.2.1 建立資料庫
8.2.2 檢視資料庫
8.2.3 選擇資料庫
8.2.4 刪除資料庫
8.3 資料表操作
8.3.1 建立資料表
8.3.2 檢視資料表
8.3.3 修改資料表結構
8.3.4 重新命名資料表
8.3.5 刪除資料表
8.4 表資料操作
8.4.1 插入記錄
8.4.2 查詢記錄
8.4.3 更新記錄
8.4.4 刪除記錄
8.5 資料備份與恢復
8.5.1 備份資料
8.5.2 資料恢復
8.6 綜合例項
第9章 PHP與MySQL(4學時/4學時)
教學內容:PHP對MySQL的支援;PHP與MySQL的連線;PHP與MySQL的互動;使用PDO與MySQL互動。
掌 握:PHP與MySQL的互動;使用PDO與MySQL互動。
理 解:PHP的MYSQLI擴充套件;PHP的PDO擴充套件。
了 解:PHP高低版本中對資料庫支援的差異。
重 點:PHP與MySQL的互動。
難 點:PHP對MySQL資料庫的操作以及對結果集的處理。
內容詳情:
9.1 PHP對MySQL的支援
9.1.1 PHP對資料庫的支援
9.1.2 PHP的MySQL擴充套件
9.2 PHP與MySQL的連線
9.2.1 連線伺服器
9.2.2 連線錯誤的處理
9.2.3 斷開伺服器
9.2.4 連線檔案
9.3 PHP與MySQL的互動
9.3.1 執行SQL語句
9.3.2 解析查詢結果
9.3.3 處理其他查詢結果
9.3.4 處理準備語句
9.4 使用PDO與MySQL互動
9.4.1 PDO擴充套件的啟用
9.4.2 PDO物件的建立
9.4.3 通過PDO執行查詢
9.4.4 PDO對準備語句的支援
9.5 綜合例項
第10章 PHP的檔案處理(2學時/4學時)
教學內容:PHP對目錄的處理;檔案操作;檔案的上傳與下載。
掌 握:PHP對目錄及檔案的常用操作,包括資訊查詢、許可權修改、建立與刪除、移動與複製等。
理 解:PHP處理檔案的操作條件。
了 解:不同作業系統中PHP處理檔案的差異。
重 點:PHP對目錄及檔案的常用操作。
難 點:多級目錄檔案的刪除。
內容詳情:
10.1 目錄處理
10.1.1 目錄資訊查詢
10.1.2 目錄操作
10.2 檔案操作
10.2.1 檔案資訊查詢
10.2.2 開啟/關閉檔案
10.2.3 讀取檔案
10.2.4 寫入檔案
10.2.5 複製與刪除檔案
10.2.6 移動與重新命名檔案
10.3檔案上傳與下載
10.3.1上傳檔案種類
10.3.2上傳檔案配置
10.3.3上傳檔案表單
10.3.4上傳檔案接收變數
10.3.5檔案上傳
10.3.6檔案下載
10.4 應用例項
第11章 PHP的其他擴充套件(2學時/4學時)
教學內容:PHP的影像;電子郵件;XML與JSON資料;PDF文件。
掌 握:PHP的基本繪圖函式以及常用的影像處理方法;PHP對XML和JSON資料的解析。
理 解:PHP的電子郵件操作方法。
了 解:PHP對PDF文件的支援。
重 點:PHP的影像;XML與JSON資料。
難 點:PHP的影像生成及處理。
內容詳情:
11.1 影像
11.1.1 啟用影像擴充套件
11.1.2 動態生成影像
11.1.3 基本繪圖函式
11.1.4 影像處理
11.2 電子郵件
11.2.1 使用mail()函式
11.2.2 使用PHP的IMAP擴充套件
11.2.3 使用PHPMailer庫
11.3 XML與JSON
11.3.1 在PHP中訪問XML
11.3.2 使用JSON
11.4 PDF文件
11.4.1 PDF擴充套件
11.4.2 FPDF庫的使用
11.4.3 擴充FPDF字型檔
11.4.4 FPDF庫的中文支援
11.5 應用例項
第12章 PHP的影像與模板(2學時/4學時)
教學內容:PHP模板基礎;PHP的Smarty模板。
掌 握:Smarty模板的配置與執行原理。
理 解:Smarty的變數調節器、函式。
了 解:Smarty的快取。
重 點:Smarty模板設計。
難 點:Smarty模板設計。
內容詳情:
12.1 PHP模板簡介
12.2 Smarty模板
12.2.1 Smarty安裝
12.2.2 smarty簡單示例
12.2.3 smarty流程
12.2.4 smarty配置
12.3 Smarty基本應用
12.3.1 模板設計基本語法
12.3.2 變數調節器
12.3.3 控制結構
12.3.4 Smarty函式
12.4 Smarty的快取
12.4.1 Smarty的快取控制
12.4.2 Smarty模板的多快取
12.4.3 消除快取例項處理開銷
12.5 應用例項
附錄(課後實踐)
綜合案例一:計算機學院資訊中心網站
綜合案例二:學生日常事務管理系統
綜合案例三:微夢線上課程系統
04.
學時分配
48學時:
圖片
72學時:
圖片
05.
執行大綱的幾點說明
1、先修課程
本課程具有一定的綜合性,涉及到的知識面比較廣,要求學生先修:計算機基礎、高階語言程式設計、資料庫原理等課程。
2、後繼課程
學習本課程後會對後繼課程:Java Web應用開發、畢業實習實踐、畢業設計及論文等教學環節的學習有所幫助。
3、其它需要說明的問題
(1) 教學內容說明
教學內容可以根據學時進行適當調整。
(2) 教學方式
本課程是一門實踐性都很強的課程,在教學中,應系統地講授必要的理論知識,並輔之以大量的應用例項,才能夠幫助學生較好地掌握所學的知識。另外還要進行適量的教學實驗,在講授知識的同時,要重視學生的邏輯思維能力的培養,使講授的知識與學生掌握設計方法相統一。
(3) 教學環節
實驗是學習該課程的非常重要的教學環節,通過上機實驗能夠加深理解和鞏固書本上所學的知識,能夠提高動手操作的能力以及分析問題和解決問題的能力。具體實驗內容、實驗要求和實驗安排應在該課程的實驗教學大綱中給出。
(4) 成績評定
本課程的期終考核採用卷面考試或大作業的形式。在課程的成績評定中,建議平時成績在課程總成績中佔30%,終結性考試成績在課程總成績中佔70%。課程總成績為百分制,60分為及格。
PHP Web程式設計
實驗教學大綱
01.
上機內容
檢視詳細《上機指導詳解》電子書
02.
性質和任務
本課程實驗大綱是面向計算機專業學生開設的《PHP Web程式設計》實驗課計劃指導大綱,依據《PHP Web程式設計》課程教學大綱編制。
本實驗大綱,力求結合該課程教學大綱的相應內容,由淺入深的指導學生了解和掌握如何使用PHP程式設計語言進行Web專案開發,提高學生的動手能力;做到理論和實踐相結合,培養學生理解、分析程式,編寫、除錯程式的能力,使之能熟練使用PHP進行小型Web應用專案的開發。
03.
教學目的和要求
通過本課程的學習,使學生全面掌握PHP語言的基本語法和程式設計方法,學會除錯程式,能獨立編寫實用的小型Web應用程式。
1.緊扣課程中所介紹的知識點,並培養良好的程式設計習慣。
2.應獨立完成實驗任務,為保證儘量在統一安排的上機時間內得到程式的執行效果,應事先準備好相關的實驗資源(如圖片、CSS樣式等),並大致設計好實驗程式。
3.課後應撰寫實驗報告。
04.
學時分配
本課程安排24個學時的上機實驗,安排如下:
序號
實驗內容
實驗學時
一
熟悉開發環境
2
二
網頁設計與資料驗證
2
三
簡單PHP程式
2
四
流程控制與PHP函式
2
五
字串與陣列
2
六
程式導向程式設計
2
七
物件導向程式設計
2
八
MySQL資料庫常用操作
2
九
PHP與MySQL互動
2
十
PHP的檔案操作
2
十一
PHP的影像處理
2
十二
PHP的Smarty模板
2
05.
實驗教學內容
實驗一 熟悉開發環境
實驗目的
1、熟悉PHP程式的編輯環境
2、熟悉PHP Web應用程式的測試環境
3、瞭解PHP Web應用程式的基本結構及執行原理
實驗內容
1.一個簡單的PHP Web應用程式
2.Wampserver整合開發環境
實驗二 網頁設計與資料驗證
實驗目的
1、掌握Web頁面的結構及組成;
2、掌握HTML常用標籤的作用及其屬性;
3、掌握CSS樣式的定義規則、選擇器型別以及樣式檔案的引用方法。
實驗內容
1.實驗管理系統 - 頁面設計;
2.實驗管理系統 - 使用者登入資料檢驗(JavaScript);
3.實驗管理系統 - 使用者登入資料檢驗(jQuery);
實驗三 簡單PHP程式
實驗目的
1、進一步熟悉Web頁面的設計技術;
2、掌握PHP基本語法;
3、掌握PHP資料型別及運算。
實驗內容
1.實驗管理系統 - 實驗機房使用情況顯示;
2.實驗管理系統 - 實驗機房使用狀態顯示;
實驗四 流程控制與PHP函式
實驗目的
1、進一步熟悉PHP基礎語法;
2、掌握PHP的選擇結構;
3、掌握PHP的迴圈結構;
實驗內容
1.實驗管理系統 - 使用者登入驗證;
2.實驗管理系統 - 系統使用者登入驗證(函式方法);
實驗五 字串與陣列
實驗目的
1、進一步熟悉PHP基本語法;
2、掌握PHP中字串資料的定義與常用處理方法;
3、瞭解正規表示式;
4、掌握PHP中陣列資料的定義與常用處理方法;
5、掌握PHP中的預定義陣列及其使用方法。
實驗內容
1.實驗管理系統 - 系統實驗安排彙總;
2.實驗管理系統 - 實驗安排查詢;
實驗六 程式導向程式設計
實驗目的
1、掌握PHP程式的資料輸入方法;
2、掌握PHP Web中的重定向方法;
3、掌握PHP的SESSION和COOKIE技術;
實驗內容
1.實驗管理系統使用者登入功能的完善;
2.實驗管理系統使用者登入頁面的重組;
實驗七 物件導向程式設計
實驗目的
1、理解PHP物件導向程式設計方法;
2、掌握PHP中類的定義與例項化;
3、掌握物件屬性的型別及賦值方法;
4、掌握物件方法的型別及呼叫方式;
實驗內容
1.實驗管理系統實驗安排課表(空表)的構建;
2.實驗管理系統實驗安排課表的構建
實驗八 MySQL資料庫常用操作
實驗目的
1、掌握MySQL資料庫伺服器的啟動方式;
2、掌握MySQL資料庫伺服器的連線方式;
3、掌握MySQL資料庫的建立及相關操作;
4、掌握MySQL資料表的建立及相關操作;
5、掌握MySQL資料庫的常用查詢操作。
實驗內容
1.實驗管理系統資料庫設計(命令方式);
2.實驗管理系統資料庫設計(phpMyAdmin工具方式)
實驗九 PHP的檔案操作
實驗目的
1、掌握PHP與MySQL的連線方法;
2、掌握PHP與MySQL的互動方法;
3、掌握PDO的使用方法;
4、掌握MySQL資料庫查詢結果的解析方法;
實驗內容
1.實驗管理系統–使用者登入(mysqli);
2.實驗管理系統–使用者登入(PDO)
實驗十 PHP的檔案處理
實驗目的
1、掌握PHP對檔案的常用操作;
2、掌握PHP中的檔案上傳操作方法;
實驗內容
1.實驗管理系統–後臺日誌管理
2.實驗管理系統–後臺檔案上傳管理;
實驗十一 PHP的影像處理
實驗目的
1、瞭解PHP的圖形擴充套件;
2、掌握PHP動態生成影像的方法;
3、掌握PHP的基本繪圖函式;
4、瞭解PHP的影像處理方法;
實驗內容
1.實驗管理系統–使用者登入圖形驗證碼
實驗十二 PHP的Smarty模板
實驗目的
1、瞭解PHP的Smarty模板引擎;
2、理解Smarty模板流程及配置;
3、熟悉Smarty基本應用;
4、瞭解Smarty快取機制;
實驗內容
1.將前面實驗中的“實驗管理系統”修改為Smarty模板架構
06.
執行大綱的幾點說明
- 實驗裝置與要求
(1)主要儀器裝置:微型計算機;
(2)軟體環境。(請根據本校實驗環境完善)
(3)由於每個實驗涉及的內容較多,要求:實驗前要求學生一定要先了解實驗目的、內容、要求以及做好必要的資源準備;
(4)實驗過程中要求學生仔細除錯;實驗結束後上交實驗報告.
2.對學生的基本要求
(1)自始至終貫徹課程中所介紹的程式設計風格,養成良好的程式設計習慣。
(2)學生應獨立完成所佈置習題。為保證儘量在統一安排的上機時間內完成實驗內容,學生應事先設計好部分程式。
3.由於每個實驗涉及的內容較多,而每個實驗安排的上機學時一般為2學時,可能不夠完成所要求的內容,建議學生可以在課後補充上機時數,完成實驗內容。
本作品採用《CC 協議》,轉載必須註明作者和本文連結