【課程簡介】
(一)本門課程是一門重要的專業技能課程,也是一門實踐性很強的課程。課程主要講解PHP的相關知識及PHP在WEB應用程序開發中的實際應用,通過具體案例,使學生鞏固數據庫、網頁制作等專業知識,更好地進行開發實踐。
(二)通過該課程的學習,使學生掌握動態網頁制作的基本操作技能,并能熟練應用于中小型動態網站的建設中,在項目實踐中提高學生的動手能力和創新能力。
【課堂環境】
【課程內容與教學基本要求】
部分 PHP入門 4學時
教學目的: 通過學習,學生可以了解PHP程序的工作流程,并可以編寫、運行簡單的PHP程序。
【了解】:PHP優勢以及應用領域、內嵌式腳本語言
【掌握】:在windows中安裝、配置PHP開發環境以及運行環境
【重點】:PHP程序工作流程以及PHP運行環境的安裝、配置
【難點】:PHP程序的工作流程
在windows中配置Apache、PHP以及MySQL。
解鎖個PHP程序的工作流程
第二部分 PHP基礎 4學時
教學目的: 通過學習,學生可以從整體上認識PHP程序的各個組成部分,并可以制作功能簡單的用戶注冊系統。
【了解】:PHP代碼基本語法、以及基本的編碼規范
【掌握】:PHP程序的組成
基本的程序格式與輸出語句
【重點】:PHP數據、PHP數據類型、瀏覽器端的數據采集、PHP程序的數據采集、PHP數據處理、PHP數據的輸出
【難點】:編程規范習慣的養成
PHP數據、PHP數據類型、瀏覽器端的數據采集、PHP程序的數據采集、PHP數據處理、PHP數據的輸出
第三部分 PHP表達式 4學時
教學目的:通過學習,學生可以了解變量、常量、常用運算符、變量狀態函數以及類型轉換的相關知識,為今后設計更為復雜的程序奠定堅實的基礎。
【了解】:常量、變量的特點以及在內存的表現形式
【掌握】:有關變量或常量狀態的函數、PHP運算符、數據類型的轉換
【重點】:isset()函數、unset()函數、empty()函數的使用
字符串連接運算符、錯誤抑制符、比較運算符等運算符的使用
數據類型的轉換
【難點】:理解“空”與NULL的區別
數據類型的自動轉換
第四部分 PHP流程控制 4學時
教學目的:通過學習,學生可以了解條件控制結構、循環結構以及程序跳轉和終止語句3種類型的PHP流程控制語句,這3種類型的流程控制構成了面向過程編程的核心。通過學習,為今后設計更為復雜的程序奠定堅實的基礎。
【了解】:條件控制語句、循環語句、程序跳轉以及終止語句
【掌握】: if…else…語句、switch語句、while語句以及break語句、continue語句、exit語句。
【重點】: if…else…語句、switch語句、while語句以及break語句、continue語句、exit語句。
【難點】:switch語句、while語句以及break語句、continue語句、exit語句
第五部分 PHP數組 4學時
教學目的:通過學習,學生可以了解數組的基本概念以及數組常用的處理函數,并掌握幾種數組遍歷方法。
【了解】:數組的基本概念、數組的創建
【掌握】:數組的創建、數組的遍歷各種方法、常用數組函數的使用
【重點】:數組的遍歷foreach語言結構、常用數組函數的使用、數組內部指針
【難點】:各種數組遍歷的方法
常用數組函數的使用,例如快速創建數組的函數、數組統計函數、數組指針函數、數組和變量間的轉換函數、數組遍歷語言結構、數組檢索函數
第六部分 PHP的數據采集 4學時
教學目的:通過學習,學生可以了解瀏覽器端數據的各種提交方式,如何創建FORM表單實現瀏覽器端的數據采集, PHP程序各種數據采集的方法,以及如何實現文件的上傳功能。通過本章的學習,讀者可以結合PHP數組實現功能復雜的“用戶注冊系統”。
【了解】:瀏覽器端數據的提交方式、相對路徑和路徑、使用FORM表單實現瀏覽器端的數據采集、使用$_GET和$_POST“采集”表單數據、上傳文件的“數據采集”以及WEB服務器端其他數據采集方法
【掌握】:GET以及POST提交方式的區別、相對路徑和路徑的區別
【重點】:設計FORM表單、文件上傳的表單的設計以及如何實現文件上傳功能
【難點】:在FORM表單中使用數組
文件上傳的具體流程、與文件上傳有關的配置
多文件上傳的實現(可以參考習題以及習題答案)
第七部分 PHP自定義函數 4學時
教學目的:通過學習,學生可以了解PHP文件間相互引用的4個PHP語言結構,如何創建和調用用戶自定義函數,創建具有文件上傳功能的自定義函數,重構“用戶注冊系統”的代碼,增強代碼重用性。
【了解】:PHP文件間相互引用的4個PHP語言結構、創建和調用用戶自定義函數、static關鍵字以及global關鍵字的作用
【掌握】:include_once與include語言結構的區別
static關鍵字以及global關鍵字的使用
return語言結構的使用
【重點】:設計具有文件上傳功能的自定義函數,重構“用戶注冊系統”的代碼設計
【難點】:static關鍵字以及global關鍵字的使用
return語言結構的使用
如何使用函數增強代碼重用性
第八部分 MySQL數據庫 4學時
教學目的:通過學習,學生可以了解數據庫的功能、數據庫常用的專業術語、常用的SQL語句。通過具體案例學生管理系統設計該系統的數據庫,通過學習,學生具備簡單數據庫系統設計與開發的能力,為今后設計更為復雜的應用系統奠定堅實的基礎。
【了解】:數據庫的基本概念、專業術語,數據庫設計流程、MySQL的基本知識
【掌握】:MySQL存儲引擎的概念以及常用的存儲引擎
MySQL字符集的設置
MySQL數據庫管理
表的管理
更新操作
查詢操作
【重點】:數據庫的設計流程,如何設計E-R圖
主鍵、外鍵、約束等專業術語在MySQL數據庫中的實現
常用的存儲引擎例如MyISAM存儲引擎、InnoDB存儲引擎
MySQL字符集的設置
MySQL數據庫管理、表的管理、更新操作、查詢操作
【難點】:數據庫的設計流程、開發流程
如何設計數據庫表、如何選擇數據庫表的主鍵
如何防止中文亂碼問題
Create語句、drop語句的使用
Select語句的使用、insert語句、update語句、delete語句的使用
如何實現分頁
MySQL特殊字符序列
第九部分 PHP與MySQL數據庫 8學時
教學目的:結合學生管理系統數據庫,通過學習,學生可以了解使用PHP函數實現PHP與MySQL數據庫之間的交互過程,并以用戶注冊系統為例學習該系統的實現過程。通過學習,學生可以具備簡單WEB應用系統設計與開發的能力。
【了解】:PHP中常用的MySQL操作函數
【掌握】:數據庫連接函數的使用
字符集設置的方法
結果集遍歷函數的使用
【重點】:如何開啟數據庫連接、如何關閉數據庫連接、關閉數據庫連接的時機
字符集設置的方法
結果集遍歷函數的使用
用戶注冊系統的實現
【難點】:關閉數據庫連接的時機
如何防止SQL注入問題
第十部分 新聞發布系統的開發 8學時
教學目的:通過學習,學生可以了解傳統的結構化方法開發MIS系統的方法、流程以及分頁函數的制作過程,并具備復雜WEB應用系統設計與開發的能力。
【了解】:結構化方法開發MIS系統的開發步驟
【掌握】:結構化方法開發MIS系統的開發步驟
新聞發布系統系統規劃步驟
新聞發布系統系統系統分析步驟
新聞發布系統系統設計步驟
新聞發布系統系統實施步驟
分頁的原理
【重點】:新聞發布系統系統編碼實施
分頁的原理以及實現
【難點】:新聞發布系統系統編碼實施
分頁的實現以及分頁函數的制作
第十一部分 PHP會話控制 4學時
教學目的:通過學習,學生可以掌握PHP頁面間參數傳遞的所有方法,頁面跳轉的方法,使用Cookie和Session實現PHP會話控制的方法,結合“新聞發布系統”使用Cookie和Session實現該系統安全訪問與權限控制。
【了解】:PHP頁面間參數傳遞的方法、重定向的概念、會話控制的概念
【掌握】:Cookie會話技術
Session會話技術
header()函數的使用
重定向的實現
文件下載的實現
【重點】:使用Cookie會話技術以及Session會話技術,結合新聞發布系統系統實現該系統的安全訪問與權限控制。
文件下載的實現
使用header()函數控制服務器響應的內容
【難點】:Cookie與Session的使用場景
關閉瀏覽器Cookie,如何實現會話控制?
如何實現文件下載?
使用header()函數控制服務器響應的內容
瀏覽器緩存的遠程控制
第十二部分 字符串處理 4學時
教學目的:通過學習,學生可以掌握PHP提供的字符串處理函數,結合新聞發布系統,修改該系統的幾處bug、增強該系統的功能。
【了解】:字符串的指定方法、字符串處理函數
【掌握】:字符串三種指定方法
常用的字符串處理函數
【重點】:字符串修剪函數的使用
字符串長度函數的使用
子字符串操作函數的使用
字符串比較函數的使用
字符串連接和分割函數的使用
字符串替換函數的使用
URL處理函數的使用
【難點】:字符串中的字符處理
在新聞發布系統中,如何修改該系統的bug、增強該系統的功能。
第十三部分 新聞發布系統的頁面美工 8學時
教學目的:通過學習,學生可以掌握新聞發布系統頁面美工的相關知識,在線編輯器FCKeditor的使用,使用DIV + CSS實現網頁布局和樣式的方法以及如何將動態PHP頁面代碼嵌入到靜態網頁布局中。通過學習,學生可以制作一個美觀大方的新聞發布系統。
【了解】:JavaScript腳本語言、FCKeditor在線編輯器、新聞發布系統頁面布局的實現、新聞發布系統靜態和動態頁面的嵌入
【掌握】:簡單JavaScript函數的制作
FCKeditor在線編輯器的使用
DIV+CSS的使用
靜態代碼與動態代碼的嵌入
【重點】:FCKeditor在線編輯器的二次開發
如何使用DIV+CSS實現頁面布局
如何實現靜態和動態頁面的嵌入
【難點】:FCKeditor的配置
FCKeditor在新聞發布系統中的應用
FCKeditor的文件管理(上傳、瀏覽)
使用DIV+CSS實現新聞發布系統頁面布局
靜態和動態頁面的嵌入