PHP软件工程师
培养目标:
精通全套php技术,掌握分析、设计、开发大型软件系统的原理、方法、技术和过程,积累至少1-2年的软件开发经验。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制作静态网页(表格布局) |
例:新星科技首页切图及布局 |
|
第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,建议大家逐步熟悉专业的PHP开发工具Zend Studio for Eclipse
项目覆盖一个完整的前后台网站,数据库操作可使用PHPMyAdmin工具 |
||
课程日期 |
科 目 |
内 容 |
程序实例及学习效果 |
第10天 |
php5环境搭建 PHP5基础语法 分支结构 |
1.PHP介绍。 2.PHP开发环境的搭建。 3.PHP开发工具zend studio的介绍及使用 4.PHP语言的标记、语法结构、注释、变量、常量、数据类型、运算符和表达式。 5. 分支结构 (1)单分支结构(if) (2)双分支结构(else子句) (3)多分支结构(elseif子句) (4)多向选择分支结构(switch语句) (5)嵌套条件分支结构 |
例1:AppServ集成环境安装 例2:使用if语句来对用户登录进行判断 例3:使用switch case语句来判断是成绩等级 |
第11天 |
循环结构 |
6.循环结构 (1)While循环 (2)do…while循环 (3)for循环 (4)break、continue和exit关键字 |
例4:循环的应用 |
第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)创建COOKIE数组 (6)删除COOKIE
(1)什么是SESSION (2)SESSION和COOKIE的区别 (3)启动session会话 (4)注册session变量 (5)使用session变量 (6)Session_id()和session_name() (7)注销session变量
(1)UNIX时间戳 (2)获取指定时间戳日期 (3)格式化本地日期 (4)修改默认时区 (5)统计脚本执行时间
(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:文件的下载 |
文件管理系统实战 |
项目:文件管理系统 |
||
第19天 第20天 |
正则表达式 mail() 函数 GD2图形函数库 |
1.正则表达式 (1)正则表达式的介绍 (2)PCRE正则表达式的语法规则 (3)与Perl兼容的正则表达式函数 2.使用mail()函数实现邮件的发送功能 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三者的区别的权限 (3)__set()、 __get()、 __isset()、 __unset() 4.面向对象三大特性之二:继承性 (1)类的继承格式 (2)访问类型控制 (3)子类重载父类的方法 5.面向对象三大特性之三:多态性 (1)抽象方法与抽象类 (2)接口技术 (3)抽象类与接口的区别 (4)多态性的应用 6.魔术方法 (1)__toString()、__call()、__autoload()、对象的串行化__sleep()和__wakeup()方法 7.常见的关键字 (1)final关键字的应用 (2)static和const关键字的应用 |
例1:自定义工人类并对其进行实例化 例2:类内及类外成员属性或方法的访问 例3:类的封装 例4:类的继承 例5:类的多态 例6:关键字及魔术方法的应用 |
第23天 |
常用公共类编码 |
1.验证码类 2.文件上传类 3.分页类 |
例1:验证码类的编写及应用 例2:文件上传类的编写及应用 例3:分页类的编写及应用 |
第24天 |
MYSQL数据库 PHP与MYSQL |
update语句修改数据、delete语句删除数据 多表查询、子查询、统计查询、分组查询、排序查询、查询指定条数 9、主外键、数据库的备份与恢复 10、数据库设计步骤 11.使用PHP脚本连接数据库 12.使用PHP脚本选择数据库并执行sql语句 13.使用PHP脚本处理查询结果集 14.错误处理函数 15.使用PHP脚本关闭数据库连接 16.索引和搜索 17.mysql事务处理(注意表类型) 18.mysql数据表的锁定机制及应用 |
例:数据库操作类的编写 |
第25天 |
PHP中MYSQL函数库应用 |
|
例:学生信息管理系统的制作 |
第26天 |
CKEditor编辑器 MYSQLI扩展库 |
1.CKEditor的使用及配置 2.Mysqli类 (1)Mysqli类的属性和方法 (2)创建mysqli类对象 (3)连接数据库 (4)多条sql语句的执行 (5)关闭mysqli数据库连接 3.Mysqli_result类 (1)创建结果集对象 (2)从结果集中解析数据 (3)从结果集中获取数据列的信息 (4)释放结果集 4.Mysqli_stmt类 (1)Mysqli_stmt类的属性和方法 (2)准备预定义sql语句 (3)创建mysqli_stmt类对象 (4)参数的绑定 (5)执行预准备sql语句 (6)绑定执行结果 (7)回收资源 |
例1:CKEditor应用实例 例2:使用Mysqli编写数据库操作类 |
第27-30天 |
实训项目 |
网上书城前台: 登录模块 注册模块 首页图书浏览 图书列表 图书详情 购物车 订单处理 网上书城后台: 会员管理 类别管理 图书管理 订单管理 前台信息管理 |
项目实战 注:重难点模板老师带着学生去做,其他类似模块由学生练习完成 |
三、PHP5高级课程:LAMP架构师 (176课时)(22天)
课程目标 |
|
||
课程日期 |
科 目 |
内 容 |
程序实例及学习效果 |
第31天 |
PHP5模板引擎技术 |
1.Smarty模板引擎的介绍 2.Smarty模板的安装 3.Smarty模板的基本语法 4.Smarty模板的变量、变量调节器、组合调节器 |
例1:Smarty模板的安装及简单应用 例2:学生信息管理系统添加模块的实现 |
第32天 |
PHP5模板引擎技术 |
1.Smarty模板的内建函数 2.Smarty模板自定义函数 3.Smarty模板的配置文件 |
例3:使用foreach、section内建函数循环输出关联数组和索引数组 例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设计模式的优点 2.MVC设计模式的缺点 3.MVC设计模式三层架构详解 4.MVC设计模式的应用 5.学生管理系统开发 |
例:使用Smarty模板和MVC设计思想制作学生信息管理系统(纯底层开发) 注:重点在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开发中使用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天 |
项目开发流程 实训项目 |
1.项目开发流程 (1)项目调研 (2)项目需求分析 (3)项目预算、开发周期确定 (4)项目文档撰写 ①项目需求设计说明书 ②数据库设计说明书 ③程序设计说明书 (5)前台设计与布局 (6)项目编码 (7)项目测试 (8)项目审核 (9)项目发布 2.项目开发规范 (1)文件格式 (2)注释规范 (3)空行和空白规范 (4)命名规范 (5)数据库设计规范 (6)模板设计规范 3.CMS内容管理系统开发 项目前台模块:
项目后台模块:
|
例1:CMS内容管理系统项目文档的撰写 例2:CMS内容管理系统开发 注:本项目已被拆分到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环境架设 注:本部分内容主要让学生掌握如何在Linux环境下搭建PHP开发环境以及如何进行PHP开发和运行PHP文件即可。 |
第52天 |
ESD |
ESD |
ESD |