 
            PHP軟件工程師
培養(yǎng)目標:
精通全套php技術,掌握分析、設計、開發(fā)大型軟件系統的原理、方法、技術和過程,積累至少1-2年的軟件開發(fā)經驗。TTS7.0將自學與自檢緊密結合,做到每一個知識點都有課程短視頻、課程PPT、超級技術文檔、知識點測試,讓學員在復習時充分吸收技術知識。
PHP軟件工程師課程大綱
(共52天 416課時)
一期:Web技術基礎 --9天課程
二期:PHP高級程序員—21天課程
三期: LAMP架構師—22天課程
預科課程
| 課程日期 | 科 目 | 內 容 | 程序實例及學習效果 | 
| 2周(4天) | 網頁制作工具 網頁相關知識 辦公軟件 | 
 4.PS網站效果圖設計技巧 5.PS切片原理及方法 6.Dreamweaver可視化網站設計 | 基本操作 簡單設計 | 
一、基礎課程:Web技術基礎(72課時)(9天)
| 課程目標 | 
 (1)、HTML主體標簽 (2)、表單標簽(包括file文件域和隱藏域) (3)、表格標簽(包括跨列colspan、跨行rowspan) (4)、其他標簽 <a href=”” target=””> <img src=””> <p></p> <h1></h1>…<h6></h6> <br> 實體 和搜索相關標簽<meta> 
 | ||
| 課程日期 | 科 目 | 內 容 | 程序實例及學習效果 | 
| 第1天 | HTML | 
 | 例1:我的第一個HTML頁面 例2:HTML頁面文字排版 例3:在HTML頁面中插入圖片和超鏈接 | 
| 第2天 | 
 | 例4:HTML頁面中輸出表格 例5:后臺框架頁面制作 例6:HTML表單應用 | |
| 第3天 | HTML制作靜態(tài)網頁(表格布局) | 例:新星科技首頁切圖及布局 | |
| 第4天 | Css+DIV | 
 | 例:使用CSS+DIV對新星科技首頁進行布局 | 
| 第5天 | 
 | ||
| 第6天 | DIV+CSS+切割頁面 | PSD圖切割,DIV布局頁面 | 例:新聞CMS切片并進行DIV布局 | 
| 第7天 第8天 第9天 | JavaScript FireBug工具 | 
 | 例1:注冊表單驗證(reg_check.html) 例2:全選-反選-不全選(checkbox.html) 例3:時鐘制作(clock.html) 例4:JS幻燈片(banner.html) 例5:樹形菜單(menu_tree.html) 例6:Dom表格操作(table.html) | 
| 
 | |||
二、PHP5實用課程:PHP高級程序員(168課時)(21天)
| 課程目標 | 
 備注: 充分利用PHP手冊 
 本階段使用工具Dreamweaver或 zend studio for eclipse,建議大家逐步熟悉專業(yè)的PHP開發(fā)工具Zend Studio for Eclipse 
 項目覆蓋一個完整的前后臺網站,數據庫操作可使用PHPMyAdmin工具 | ||
| 課程日期 | 科 目 | 內 容 | 程序實例及學習效果 | 
| 第10天 | php5環(huán)境搭建 PHP5基礎語法 分支結構 | 1.PHP介紹。 2.PHP開發(fā)環(huán)境的搭建。 3.PHP開發(fā)工具zend studio的介紹及使用 4.PHP語言的標記、語法結構、注釋、變量、常量、數據類型、運算符和表達式。 5. 分支結構 (1)單分支結構(if) (2)雙分支結構(else子句) (3)多分支結構(elseif子句) (4)多向選擇分支結構(switch語句) (5)嵌套條件分支結構 | 例1:AppServ集成環(huán)境安裝 例2:使用if語句來對用戶登錄進行判斷 例3:使用switch case語句來判斷是成績等級 | 
| 第11天 | 循環(huán)結構 | 6.循環(huán)結構 (1)While循環(huán) (2)do…while循環(huán) (3)for循環(huán) (4)break、continue和exit關鍵字 | 例4:循環(huán)的應用 | 
| 第12天 第13天 第14天 | PHP數組與數組函數庫 超全局數組 自定義函數 數學函數庫 | 
 (1)學習使用post獲取表單數據 
 (1)使用get連接傳遞參數 
 (1)Server獲取常用數據 
 | 例1:一維索引數組和一維關聯數組的訪問 例2:二維索引和二維關聯數組的遍歷 例3:POST及GET表單數據的接收及處理 例4:網頁傳參應用實例 | 
| 第15天 第16天 | 會話控制 日期與時間函數 文件的包含 錯誤處理機制 字符串處理 | 
 (1)什么是COOKIE (2)COOKIE的工作原理 (3)設置COOKIE (4)接收和處理COOKIE (5)創(chuàng)建COOKIE數組 (6)刪除COOKIE 
 (1)什么是SESSION (2)SESSION和COOKIE的區(qū)別 (3)啟動session會話 (4)注冊session變量 (5)使用session變量 (6)Session_id()和session_name() (7)注銷session變量 
 (1)UNIX時間戳 (2)獲取指定時間戳日期 (3)格式化本地日期 (4)修改默認時區(qū) (5)統計腳本執(zhí)行時間 
 (1)Include()和include_once() (2)Require()和require_once() 
 (1)錯誤類型 (2)錯誤相關配置 (3)錯誤日志 (4)異常處理 
 (1)常用字符串輸出函數 (2)常用字符串格式化函數 (3)常用字符串比較函數 | 例1:COOKIE計數器 例2:使用SESSION記錄客戶端信息 例3:購物車功能實現 | 
| 第17天 第18天 | $_FILES數組 File system 函數 文件管理系統 | 
 (1)文件類型和屬性相關函數 
 (1)解析目錄路徑 (2)遍歷目錄 (3)統計目錄大小 (4)建立和刪除目錄 (5)復制或移動目錄 
 (1)文件的打開 (2)文件的寫入 (3)文件內容的讀取 (4)訪問遠程文件 (5)移動文件指針 (6)文件的鎖定機制 (7)文件的一些基本操作函數 (8)文件的關閉 
 (1)文件上傳基本知識 (2)文件上傳參數配置 (3)文件上傳錯誤類型 (4)文件的MIME類型 
 | 例1:遍歷目錄函數 例2:統計目錄大小函數 例3:復制目錄函數 例4:移動目錄函數 例5:刪除目錄函數 例6:文件上傳函數 例7:文件的讀和寫操作 例8:文件上傳(分單文件和多文件) 例9:文件的下載 | 
| 文件管理系統實戰(zhàn) | 項目:文件管理系統 | ||
| 第19天 第20天 | 正則表達式 mail() 函數 GD2圖形函數庫 | 1.正則表達式 (1)正則表達式的介紹 (2)PCRE正則表達式的語法規(guī)則 (3)與Perl兼容的正則表達式函數 2.使用mail()函數實現郵件的發(fā)送功能 3.GD2圖形函數庫 (1)GD庫的開啟和配置 (2)GD庫函數庫 (3)GD庫繪制驗證碼 (4)GD庫繪制縮略圖 (5)GD庫添加文字水印 (6)GD庫添加圖片水印 | 例1:驗證碼的繪制 例2:生成圖形縮略圖 例3:添加文件水印 例4:添加圖片水印 例5:裁剪圖像 | 
| 第21天 第22天 | 面向對象 | 1.什么是面向對象 (1)面向對象的概念 (2)什么是類,什么是對象,類和對象之間的關系 2.如何實現面向對象編程 (1)如何抽象出一個類? (2)如何實例化對象? (3)如何訪問對象中的成員屬性和方法? (4)特殊的對象引用“$this”的使用 (5)構造方法與析構方法 3.面向對象三大特性之一:封裝性 (1)設置私有成員屬性和方法 (2)Public、protected、private三者的區(qū)別的權限 (3)__set()、 __get()、 __isset()、 __unset() 4.面向對象三大特性之二:繼承性 (1)類的繼承格式 (2)訪問類型控制 (3)子類重載父類的方法 5.面向對象三大特性之三:多態(tài)性 (1)抽象方法與抽象類 (2)接口技術 (3)抽象類與接口的區(qū)別 (4)多態(tài)性的應用 6.魔術方法 (1)__toString()、__call()、__autoload()、對象的串行化__sleep()和__wakeup()方法 7.常見的關鍵字 (1)final關鍵字的應用 (2)static和const關鍵字的應用 | 例1:自定義工人類并對其進行實例化 例2:類內及類外成員屬性或方法的訪問 例3:類的封裝 例4:類的繼承 例5:類的多態(tài) 例6:關鍵字及魔術方法的應用 | 
| 第23天 | 常用公共類編碼 | 1.驗證碼類 2.文件上傳類 3.分頁類 | 例1:驗證碼類的編寫及應用 例2:文件上傳類的編寫及應用 例3:分頁類的編寫及應用 | 
| 第24天 | MYSQL數據庫 PHP與MYSQL | 
 update語句修改數據、delete語句刪除數據 多表查詢、子查詢、統計查詢、分組查詢、排序查詢、查詢指定條數 9、主外鍵、數據庫的備份與恢復 10、數據庫設計步驟 11.使用PHP腳本連接數據庫 12.使用PHP腳本選擇數據庫并執(zhí)行sql語句 13.使用PHP腳本處理查詢結果集 14.錯誤處理函數 15.使用PHP腳本關閉數據庫連接 16.索引和搜索 17.mysql事務處理(注意表類型) 18.mysql數據表的鎖定機制及應用 | 例:數據庫操作類的編寫 | 
| 第25天 | PHP中MYSQL函數庫應用 | 
 | 例:學生信息管理系統的制作 | 
| 第26天 | CKEditor編輯器 MYSQLI擴展庫 | 1.CKEditor的使用及配置 2.Mysqli類 (1)Mysqli類的屬性和方法 (2)創(chuàng)建mysqli類對象 (3)連接數據庫 (4)多條sql語句的執(zhí)行 (5)關閉mysqli數據庫連接 3.Mysqli_result類 (1)創(chuàng)建結果集對象 (2)從結果集中解析數據 (3)從結果集中獲取數據列的信息 (4)釋放結果集 4.Mysqli_stmt類 (1)Mysqli_stmt類的屬性和方法 (2)準備預定義sql語句 (3)創(chuàng)建mysqli_stmt類對象 (4)參數的綁定 (5)執(zhí)行預準備sql語句 (6)綁定執(zhí)行結果 (7)回收資源 | 例1:CKEditor應用實例 例2:使用Mysqli編寫數據庫操作類 | 
| 第27-30天 | 實訓項目 | 網上書城前臺: 登錄模塊 注冊模塊 首頁圖書瀏覽 圖書列表 圖書詳情 購物車 訂單處理 網上書城后臺: 會員管理 類別管理 圖書管理 訂單管理 前臺信息管理 | 項目實戰(zhàn) 注:重難點模板老師帶著學生去做,其他類似模塊由學生練習完成 | 
三、PHP5高級課程:LAMP架構師 (176課時)(22天)
| 課程目標 | 
 | ||
| 課程日期 | 科 目 | 內 容 | 程序實例及學習效果 | 
| 第31天 | PHP5模板引擎技術 | 1.Smarty模板引擎的介紹 2.Smarty模板的安裝 3.Smarty模板的基本語法 4.Smarty模板的變量、變量調節(jié)器、組合調節(jié)器 | 例1:Smarty模板的安裝及簡單應用 例2:學生信息管理系統添加模塊的實現 | 
| 第32天 | PHP5模板引擎技術 | 1.Smarty模板的內建函數 2.Smarty模板自定義函數 3.Smarty模板的配置文件 | 例3:使用foreach、section內建函數循環(huán)輸出關聯數組和索引數組 例4:使用foreach來實現學生管理系統項目學生信息瀏覽模塊 例5:自定義函數及應用 例6:讀取配置文件 | 
| 第33天 | PHP5模板引擎技術 | 1.Smarty模板的單頁緩存 2.Smarty模板的局部緩存 3.Smarty模板的每個頁面多個緩存 4.Smarty模板清除緩存 5.Smarty模板局部緩存的關閉 | 例7:使用Smarty模板實現單頁緩存 例8:使用Smarty模板實現局部緩存 例9:使用Smarty模板實現一個頁面多個緩存 | 
| 第34天 第35天 | MVC設計模式 MVC和Smarty應用 | 1.MVC設計模式的優(yōu)點 2.MVC設計模式的缺點 3.MVC設計模式三層架構詳解 4.MVC設計模式的應用 5.學生管理系統開發(fā) | 例:使用Smarty模板和MVC設計思想制作學生信息管理系統(純底層開發(fā)) 注:重點在MVC框架的搭建及應用 | 
| 第36天 | Ajax技術 jQuery框架 | 1.Ajax技術 (1)Ajax概述及運行原理 (2)Ajax瀏覽器支持 (3)Ajax的核心是JavaScript對象XmlHttpRequest (4)Ajax無刷新技術 2.jQuery框架 (1)jQuery簡介 (2)jQuery語法 (3)jQuery選擇器 | 例1:原生Ajax數據庫交互 例2:注冊驗證 | 
| 第37天 第38天 | jQuery框架 XML | (4)jQuery事件 (5)jQuery特效 (6)jQuery回調函數 (7)jQuery HTML (8)jQuery CSS (9)jQuery Ajax(重點) (10)jQuery應用 3.XML語言 (1)什么是XML? (2)XML與HTML的差異 (3)XML的特點 (4)PHP中常用的生成XML和解析XML的兩種方法 (5)使用PHP程序生成XML文件 (6)使用PHP程序解析XML文件 | 例3:滑動菜單 例4:二級、三級聯動菜單 例5:可編輯表格 例6:生成XML文件 例7:解析XML文件 | 
| 第39天 第40天 | Memcache | 1. Memcached的工作原理 2. 在Web開發(fā)中使用Memcached 3. 安裝和應用Memcache服務器 4. Memcache服務器的管理 5. 操作和遍歷Memcache內容 6. 在PHP中使用Memcached 7. Memcached安全設置 | 
 | 
| 第41天 | ThinkPHP框架 | 
 | 例1:使用ThinkPHP搭建項目前臺 例2:我的第一個ThinkPHP小項目 例3:CMS內容管理系統項目搭建 | 
| 第42天 | ThinkPHP框架 | 
 | 例4:CMS內容管理系統后臺登錄模塊 例5:CMS內容管理系統前臺首頁展示模塊 | 
| 第43天 | ThinkPHP框架 | 
 | 例6:CMS內容管理系統新聞管理模塊 例7:TP中使用Smarty模板引擎 注:13、14點的內容可結合ThinkPHP自帶的常用功能案例(Examples目錄)去講解。 | 
| 第44天 | SVN版本控制器 | 1.SVN版本控制器 (1)版本控制概述 (2)Subversion服務器的建立與使用 (3)服務器和客戶端安裝 (4)建立版本庫(Repository) (5)配置用戶和權限 (6)運行服務器 (7)初始化導入 (8)基本客戶端操作 | 例1:SVN版控制器的安裝和配置 | 
| 第45-50天 | 項目開發(fā)流程 實訓項目 | 1.項目開發(fā)流程 (1)項目調研 (2)項目需求分析 (3)項目預算、開發(fā)周期確定 (4)項目文檔撰寫 ①項目需求設計說明書 ②數據庫設計說明書 ③程序設計說明書 (5)前臺設計與布局 (6)項目編碼 (7)項目測試 (8)項目審核 (9)項目發(fā)布 2.項目開發(fā)規(guī)范 (1)文件格式 (2)注釋規(guī)范 (3)空行和空白規(guī)范 (4)命名規(guī)范 (5)數據庫設計規(guī)范 (6)模板設計規(guī)范 3.CMS內容管理系統開發(fā) 項目前臺模塊: 
 項目后臺模塊: 
 | 例1:CMS內容管理系統項目文檔的撰寫 例2:CMS內容管理系統開發(fā) 注:本項目已被拆分到ThinkPHP部分知識講解的各課時中,重點模塊由教師演示操作完成,功能類似、實現方法一至的可由學生獨立完成。 | 
| 第51天 | PHP5開源產品 Linux系統 | 1.PHP5開源產品 (1)PHPCMS、DEDECMS內容管理系統的安裝、配置及應用 (2)ShopEX、ECshop、ECmall網上商城系統的安裝、配置及應用 (3)discuz!、phpwind論壇的安裝、配置及使用 2、Linux 
 | 例1:PHPCMS、DEDECMS內容管理系統的安裝及簡單應用 例2:網上商城系統的安裝及簡單應用 例3:論壇系統的安裝及簡單應用 例4:LAMP環(huán)境架設 注:本部分內容主要讓學生掌握如何在Linux環(huán)境下搭建PHP開發(fā)環(huán)境以及如何進行PHP開發(fā)和運行PHP文件即可。 | 
| 第52天 | ESD | ESD | ESD |