php 传智播客 学习内容

来源:互联网 发布:java iterator和for 编辑:程序博客网 时间:2024/04/28 01:36
第一阶段:(PHP+MySQL核心编程)课程名称阶段课程课程内容学习目标PHP+MySQL核心编程(21天)PHP基本语法加强

  • Apache--directory配置段
  • 一个IP和多个域名绑定的两种方式
  • HTTP协议入门介绍
  • Apache逻辑组件介绍
  • Apache生命周期
  • PHP运行之时序图
  • PHP数据类型加强
  • PHP各种运算符加强
  • PHP三大流程控制加强
  • 位运算(按位与、按位或、按位异或、按位非、位左移、位右移)
  • 二进制(原码、反码、补码)
  • PHP版本在线贷款计算器

对PHP基本语法进行加强,更深入的配置Apache服务器和灵活的使用PHP三大流程控制语句,掌握位运算,对计算器的二进制(原码、反码和补码)有所了解。

PHP函数

  • PHP函数的基本介绍
  • 如何自定义函数
  • PHP页面调用函数
  • require()、require_once()、include()和include_once()的区别
  • 从内存分析PHP函数调用过程
  • 函数使用需要注意的细节
  • 函数值传递和引用传递的区别

函数是我们PHP编程最重要的一个知识点,也是进行模块化编程的基础,掌 握好函数可以提高代码的复用性、可读性和可维护性。本章节学习目标: 1.充分理解函数的概念,2.能熟练的自定义函数3.掌握php中常用的系统函数。

数组、排序和查找

  • 数组的基本概念
  • 数组的引用方式
  • 数组引用陷阱
  • 与PHP数组相关的函数(count、is_array、print_r、explode等)
  • 遍历数组的三种方式
  • 删除数组元素和数组运算符
  • 数组使用细节总结
  • 内部排序法和外部排序法介绍
  • 冒泡排序和快速排序
  • 选择排序和插入排序
  • 顺序查找和二分查找
  • 二维数组介绍和使用

在项目开发中,数组是衔接变量和函数的重要数据类型,在MVC开发中,往往需在控制器中将数组分配给视图去显示,在算法中,数组也是变化最为灵活的。本章节学习目标是:非常熟练的使用数组,并能对数组进行排序和查找,特别是冒泡排序、快速排序和二分查找。

面向对象编程

  • 面向对象编程基本概念
  • 类和对象的关系
  • 如何定义类
  • 成员属性(变量)
  • 如何创建对象实例及如何访问对象属性
  • 对象在内存中存在的形式
  • 栈、堆、全局区、常量区和代码区的关系
  • 成员方法(函数)及使用细节
  • 构造方法(函数)
  • 默认构造方法(函数)
  • this的基本概念和使用
  • 析构方法(函数)
  • PHP的对象垃圾回收器
  • 静态变量(类变量)的概念和使用
  • 静态方法(类方法)的概念和使用
  • 面向对象编程的三大特征介绍
  • 面向对象编程-封装
  • 面向对象编程-继承
  • 面向对象编程-多态
  • 访问控制修饰符(public、protected、private)
  • 方法重载(overload)
  • 方法重写(override)
  • 方法重载(overload)和方法重写(override)的比较
  • PHP魔术函数(__set __get __construct __destruct __call等 )和魔术常量(__LINE__ , __FILE__ ,__FUNCTION__等 )
  • 抽象类(abstract class)的概念和使用接口(interface)的概念和使用
  • 接口编程和继承的区别
  • 关键字final的使用
  • 常量关键字const 的作用和使用注意事项
  • 面向对象编程之强大的反射机制
  • 面向对象编程之动态代理

面向对象编程已经成为PHP编程的主流,面向对象编程让程序变得更加强大 和灵活,更利于项目的开发和维护。本章节是PHP核心编程的重中之重.要求同学们深刻理解面向对象本质,会使用 OOP的程序设计思想来编写程序和项目。

MySQL数据库

  • 什么是数据库
  • MySQL数据库的三层结构
  • MySQL数据库的安装和配置
  • 数据库命令行的常见操作(启动、连接、操作、关闭等)
  • SQL语句分类(ddl/dml/dcl/dql/dtl)
  • 创建、查看、删除、修改、备份和恢复数据库
  • 如何创建表及MySQL数据类型详解
  • 修改、删除表操作
  • 如何对数据表进行CRUD操作
  • select语句中使用orderby
  • 合计函数(count/sum/avg/max/min)
  • select语句中使用group by 和having子句
  • 时间日期常用的10个函数
  • 字符串相关11个函数
  • 数学函数10个
  • 流程控制函数3个
  • 其它函数4个
  • MySQL中文乱码处理
  • PHP操作数据库实例
  • MySQL表类型和存储引擎(BDB/HEAP/ISAM/MERGE/MYISAM/InnoBDB)
  • 如何选择表的存储引擎
  • 事务的基本概念
  • 事务和锁
  • 事务提交和回滚操作
  • PHP程序中如何使用事务
  • 事务隔离级别
  • 表的主键和外键
  • 多表联合查询和笛卡尔集
  • 自连接
  • 单行子查询和多行子查询
  • 蠕虫复制创建海量表
  • 合并查询(union , union all,intersect , minus)
  • 表的内连接和外连接(左外连接、右外连接和完全外连接)
  • 维护数据的完整性-约束(not null、unique, primary key,foreign key,和check )
  • 商店售货系统表设计案例
  • 索引(主键索引/唯一索引/全文索引/普通索引/复合索引)
  • 索引优缺点分析
  • 触发器和存储过程

从目前看,任何一个有商业价值的项目或者网站,都离不开MySQL数据库, 因此系统深入的掌握MySQL数据库各种操作非常重要,重点是围绕ddl/dql/dml/dcl/dtl讲解。同时会穿插项目中如何设计出有商业价值的数据库模型的技巧,并涉及到MySQL的优化细节。本章节相对轻松.

错误处理和异常处理

  • 错误处理的基本概念
  • PHP处理错误的三种方式介绍
  • 使用die()进程错误处理
  • 自定义错误和错误触发器
  • 错误日志
  • 错误级别介绍
  • PHP异常处理的基本介绍
  • PHP异常处理(try throw catch)
  • 自定义异常
  • 如何设置顶级异常处理器
  • 异常使用的规则

在编写php web 应用程序时,错误处理是一个重要的部分。如果您的代码 缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门 。本章节大家需要清楚在PHP编程中如何对错误和异常进行有效的处理,从而保证程序的安全和健壮.

深度剖析HTTP协议

  • 什么是HTTP协议
  • 使用httpwatch和firebug抓取HTTP数据包
  • HTTP请求详解(请求行、消息头、实体内容)
  • GET请求与POST请求比较
  • 使用Referer防盗链
  • HTTP请求和响应时序图
  • HTTP响应详解(状态行、消息头和实体内容)
  • HTTP响应状态码详解
  • 如何防止浏览器缓存页面
  • 文件共享网站实战

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最 为广泛的一种网络协议。是工作在tcp/ip协议基础上的,所有的WWW文件都必须遵守这个标准。http也是我们web开发 的基石。对我们了解PHP底层机制有很大帮助,做到知其然,还知其所以然。

数据库编程(mysql mysqli pdo)

  • mysql扩展库简介
  • mysql扩展库操作mysql数据库程序
  • mysql_query()执行结果
  • 释放资源和连接
  • 对mysql数据库进行CRUD
  • mysqli扩展库简介
  • 第一个mysqli扩展库程序
  • $mysqli->query()执行结果
  • mysqli对数据库进行CRUD操作
  • mysqli扩展库增强--批量执行sql语句
  • mysqli扩展库增强--事务控制
  • 事务的acid
  • 预处理 MySQLi_STMT
  • PDO的介绍和使用

从目前看,任何一个有商业价值的项目或者网站,都离不开MySQL数据库, 因此系统深入的掌握PHP的MySQL数据库编程尤为重要,本章节要求同学们必须全方面的掌握PHP操作数据库的三种方 式:MySQL扩展库、MySQLI扩展库和PDO方式。同时会穿插项目中如何设计出有商业价值的数据库模型的技巧。

预定义超全局数组

  • 预定义超全局数组-基本概念
  • $_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES 、$_COOKIE、$_SESSION、$GLOBALS
  • $_GET 使用陷阱(sql注入和中文乱码问题)

预定义超全局数组在我们实际编程中非常有用,通过预定义超全局数组我 们可以获取程序中需要的各种数据和环境相关的参数值,因此我们必须熟练的掌握。

MVC开发模式

  • Model1开发模式介绍
  • 分页算法
  • 分层开发模式
  • MVC开发模式
  • MVC开发模式实际运用-MIS管理系统
  • MVC开发模式优缺点分析
  • MVC开发模式最佳应用场景

MVC是Xerox PARC施乐帕克研究中心在八十年代为编程语言Smalltalk-80 发明的一种软件设计模式,至今已被广泛使用。 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 MVC的各个字母分别是M(model模型)、V(view视图)、C(controller 控制器)。目前90%以上的项目和网站使用的就是MVC开发模式。因此同学们必须深入细致的把握MVC 。

cookie和session

  • 什么是会话
  • cookie的基本概念
  • cookie的curd操作
  • cookie重要的api介绍
  • cookie运行原理图解
  • cookie的实际运用(显示用户上次访问时间、显示用户上次浏览过的商品、)
  • cookie使用的注意事项
  • session数据存放的位置和形式
  • session的curd操作
  • session运行原理图解
  • session实际案例-在线购物车
  • IE禁用Cookie后的session处理方案
  • session防止用户非法入侵
  • session配合验证码使用
  • php.ini 中关于cookie和session配置说明(重点,难点)
  • 自定义会话处理器
  • Session和Cookie的区别

Cookie(小甜饼)是客户端技术,服务器把每个用户的数据以cookie的形式 写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。

Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用 户的浏览器创建一个其独享的session文件,当用户再去访问服务器中的其它web资源时,可以从用户各自的session 中取出数据为用户服务。Session和Cookie是最重要的用户行为跟踪技术,尤其是电商,sns项目中运用广泛,因此是 我们学习的重点和难点。

PHP文件编程

  • 文件及文件编程是什么
  • 文件流的基本概念
  • 文件的操作方式
  • PHP文件编程函数汇总介绍
  • 最常用的13个文件函数
  • 使用文件完成网站计数器
  • 文件上传下载操作-mini版音乐共享网
  • 无限级文件扫描器

文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频 ,声音...,本章节要求同学们掌握文件的各种操作和上传下载,动态创建和删除目录,文件和无限级扫描文件等, 掌握好这些知识点对我们项目开发非常重要。

PHP绘图技术

  • php绘图坐标系
  • 绘图步骤说明
  • 绘图快速入门
  • 绘图最常用的函数
  • 绘图技术的实际运用—人口分布饼状统计图
  • 专业的报表开发--JpGraph
  • JpGraph的安装和配置
  • JpGraph实际应用-网民支持情况统计图
  • JpGraph中文乱码处理

如果你使用过财务软件,那你一定看见过各种对财务数据进行统计和分析 的图表,可能是表格,也可能是饼状图、柱状图、曲线图..,简单的说,就是使用图表动态显示数据。而这些图表的显 示都要使用到PHP的绘图技术,本章节要求同学们熟练的使用PHP的绘图函数完成项目的需求.

中级项目(5天)中级项目(5天)

在中级项目阶段,讲师将分组进行项目开发,讲师给出项目的需求和文档,
各小组商量后选择,讲师会全程陪同,细致耐心的辅导同学们顺利完成项目.同时,传智播客也会适时的到 其它公司接项目,分组完成,并将学员的网站项目放到公网上展示,增强学员就业竞争力。 目前,可选的项目有: (我们还会根据市场需求增加新项目)

  • BBS系统: 本系统为互联网用户提供互动和交流功能。
  • 2.网上在线支付: 本系统是为互联网客户提供在线支付功能,可立即应用于项目中
  • 及时雨供求信息共享网: 及时雨供求信息网主要用来为用户提供信息服务,对于生活和工作中的各类 信息都应尽可能地全部包括在内,例如,公寓、求职、招聘、培训、招商、房屋、车辆、出售、求购等信息。项目 发布后,要实现能够为用户生活、工作带来极大地方便并提高企业知名度、为企业产品宣传节约大量成本的目标。 及时雨供求信息网的主要目标是提供强大的搜索功能,准确的信息定位描红功能,付费信息的管理、免费信息的审 核和删除功能。
  • oa无纸办公系统: oa无纸办公系统是针对中小型企业内部自动化办公管理的要求进行设计的,实现了 文件类信息的强大的管理能力;对员工基础信息(人事消息)的管理功能等;个人办公的信息自动化管理功能;发 布会议信息,并对会议信息进行管理;对系统用户进行管理;为了加强数据保密性,为每个用户组设置权限级别。
  • 大网电子商城: 本网站将电子商城给普通用户提供如下功能:购买商品、用户个人资料管理及订单查询 等功能。用户在未进行登录时,只可以查看商品的详细信息及公告信息,登录后可以执行购买商品操作、对商品进 行评论及管理个人资料。管理后台实现: 商品信息、商品类别信息、用户信息、订单信息、公告信息及评论信息进 行管理,用户可通过相应的功能按钮,进入相应的页面,对信息进行管理。

老师讲十遍,不如自己实际动手做一个项目。同学的项目经验就是从一行行 代码中积累的,编程的能力也是通过攻克一个个程序bug提高的。中级阶段项目是同学们把老师前面讲过的知识点实 际运用到项目中的最佳时机,也是检验自己学习成果的时候。当同学们通过熬夜点灯,小组讨论把项目最终完成时, 经历了项目从无到有,从有到完善时,同学们的编程能力,把控项目的能力在潜移默化中提高了,为学习下一个阶段 (PHP高级编程)打下扎实的基础。

第二阶段:PHP高级课程课程名称阶段课程课程内容学习目标PHP的XML编程(2天)XML基础和DTD

  • 什么是XML及XML的常见应用
  • XML基础语法(文档声明、元素、属性、注释、CDATA区、特殊字符、处理指令(processing instruction))
  • XML约束概述
  • 常用的约束技术(DTD和Schema)
  • DTD的快速入门
  • 编程校验XML文档正确性
  • 内部DTD和外部DTD介绍
  • DTD文档声明及引用
  • DTD各元素详解
  • DTD的修饰符说明
  • DTD属性详解(CDATA/ID/IDREF/IDREFS/Enumerated)
  • 引用实体和参数实体
  • DTD综合案例

xml的出现解决了如下问题:1.程序间数据传输的问题,2.xml可以做配置文 件3.xml可以充当小型的数据库。在当前项目开发中使用的非常广泛,本章节要求同学们对XML语法有所了解。

PHP XML编程

  • XML解析技术介绍(PHP与DOM、PHP与XPath、SimpleXML)
  • php dom 编程步骤
  • DOM模型介绍
  • DOMNode对象详解
  • php dom实例(CRUD操作)
  • 学生成绩管理系统(php dom技术解析)
  • xpath详解
  • SimpleXML是什么
  • SimpleXML如何载入xml文件和如何取xml元素和属性
  • SimpleXML与Xpath的整合
  • SimpleXML载入dom对象和string

在项目开发中,不可避免的要对XML文件进行curd操作,因此DOM 提供了针对 HTML 和 XML 文档的标准对象集,以及用于访问和操作这些文档的标准接口。本章节是学习的重点,同学们将学 习如何使用dom/xpath/simpeXML对XML文件进行操作,目前很多网站都使用xml做配置文件,从而减少程序的耦合度 。

Smarty模板技术(3天)全面讲解Smarty模板技术

  • 模板技术是什么和快速入门
  • 模板引擎原理分析
  • php模板引擎smarty-基本配置
  • smarty-如何使用变量
  • smarty基本语法
  • 变量操作符(capitalize / count_characters / cat /count_paragraphs/count_sentences /count_words /date_format /default /escape /indent/lower/nl2br/regex_replace/replace/spacify/string_format/strip/strip_tags/truncate/upper/wordw rap)
  • 组合修改器
  • smarty-数组操作
  • 内建函数 build-in function (capture/config_load/foreach/foreachelse/include/include_php/insert/if,elseif,else/ldelim/rdelim/lite ral/php/section,sectionelse/strip
  • 自定义函数 (assign/counter/cycle/debug/eval/fetch/html_checkboxes/html_image/html_options)
  • smarty-配置文件
  • smarty-常量使用
  • smarty-变量(template_dir、config_dir、debugging、caching、cache_dir、cache_lifetime、 php_handing、left_delimiter、right_delimiter等)
  • smarty-方法(append、append_by_ref 、assign、assign_by_ref、clear_all_assign、clear_assign 、clear_cache、config_load 、clear_config、display、fetch、templateExists等)
  • smarty高级特性-对象
  • smarty高级特性-过滤器(预过滤器 /后过滤器/输出滤镜)
  • smarty缓存的配置和使用

模板引擎技术的核心思想就是 数据(通过php业务代码获取)和 界面显示分 离, 同时理解这点也是我们透彻掌握smarty技术的 关键。模板介绍可以让项目代码变得更加清晰,利于维护和扩 展,同时也利于项目分工协作开发,是非常流行的技术。本章节要求同学们能够在MVC开发中使用smarty技术来完成 View部件,从而更深入的认识MVC模式的本质。

Javascript加强(5天)Javascript回顾加强

  • Javascript基本语法
  • Javascript三大流程控制
  • Javascript函数
  • Javascript数组
  • 事件驱动编程
  • DOM编程

承前启后,将前面学习过的Javascript知识做一个回顾加强,让同学们回忆起以前老师讲过的技术。

Javascript面向(基于)对象编程①

  • js面向对象特征介绍
  • 类(原型对象)与对象
  • 自定义类(原型对象)的五种方式(工厂方法、使用构造函数来定义类、使用prototype、构造函数及原 型混合方式、动态原型方式)
  • 对象的属性
  • Javascript对象在内存中存在形式深度剖析
  • this关键字
  • 成员函数
  • 所有Javascript类的基类Object详解
  • 闭包(closure)介绍
  • 面向对象编程小游戏-超级马里奥(或是其它小游戏)
  • 构造函数
  • 遍历对象属性的方法(for..in)
  • 删除对象属性(delete关键字)

Javascript是一种面向(基于)对象的动态脚本语言,是一种基于对象 (Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。他具有面向对象语言所特有的各种特性,比如封装 、继承及多态等。但对于大多数人说,我们只把javascript做为一个函数式语言,只把他用于一些简单的前端数据 输入验证以及实现一些简单的页面动态效果等,我们没能完全把握动态语言的各种特性。 在很多优秀的Ajax框架中 ,比如ExtJS、JQuery等,大量使用了javascript的面向对象特性,要想使用好JQuery技术,javascript的高级特性 ,就要求同学们必须深入掌握Javascript面向对象编程技术,才能在面试和工作中一拔头筹,脱颖而出。

Javascript面向(基于)对象编程②

  • js面向对象编程三大特征介绍
  • 封装性介绍
  • Javascript面向对象访问权限(公开级别和私有级别)
  • 使用原型法(关键字prototype)为所有对象添加公共方法
  • 继承性介绍
  • Javascript继承实现方法(对象冒充和call及apply)
  • Javascript多重继承和基类Object
  • 方法重载(overload)及覆盖(overrid)介绍
  • 多态性介绍

正则表达式

  • 正则表达式(RegExp)是什么
  • 什么是正则表达式对象(RegExp)及如何创建
  • RegExp对象的常用方法(exec和test)
  • string对象与正则表达式方法(match/replace/split/search)
  • RegExp对象的静态属性和实例属性
  • 子表达式、捕获、反向引用详细说明
  • 元字符详解(限定符)
  • 元字符详解(选择匹配符)
  • 元字符详解(分组组合和反向引用符)
  • 元字符详解(特殊字符)
  • 元字符详解(字符匹配符)
  • 元字符详解(定位符)
  • 元字符详解(转义符号)
  • 正则表达式应用案例(电子邮件、身份证、电话、城市、中英文个数、整数小数、url解析和结巴程序)

正则表达式就是用某种模式去匹配一类字符串的一个公式。一旦你弄懂它 们,你就能把数小时辛苦而且易错的文本处理工作缩短在几分钟(甚至几秒钟)内完成。正则表达式在面试中是必 考内容。在项目开发中一定会使用到的。本章节要求同学们,熟练使用正则表达式完成各种字符串格式验证。

Javascript高级技术

  • Javascript作用域链
  • Javascript原型链
  • 使用canvas绘图
  • html5脚本编程介绍
  • 跨文档消息传递
  • 原生拖放和拖放事件
  • datatransfer对象
  • 自定义媒体播放器
  • 不同浏览器的错误处理与调试(ie/firefox/safari/opera/chrom)
  • try-catch语句
  • 常见的错误类型和处理错误的策略

本章节给同学们揭秘Javascritp的最新的高级技术,有些技术是工作2、3 年的PHP程序员都没有听说过的,掌握本章节的高级技术让我们同学们走在技术前沿,在面试中秒杀面试官。

Ajax(2天)Ajax基础与实战

  • 什么是Ajax
  • Ajax相关的七种技术(javascript、xml、css、xstl、dom 、xhtml和XMLHttpRequest)
  • Ajax基本原理和优势
  • Ajax典型的应用场景
  • Ajax经典案例1-无刷新验证用户名
  • 不同的浏览器创建 XMLHttpRequest 对象的兼容性处理
  • Ajax模板代码(Get和Post)两种方式
  • Ajax处理服务器返回HTML格式的数据
  • Ajax处理服务器返回XML格式的数据
  • Ajax处理服务器返回Json格式的数据
  • html、xml和json 比较
  • Ajax经典案例2—省市联动
  • Ajax经典案例3—天气实时报告
  • Ajax经典案例4—多人无刷新聊天室

Ajax是2005年提出的,目前很多网站都使用了ajax技术,在招聘软件工程 师时,ajax技术是必须要求掌握的。Ajax技术包含了几种技术:javascript、xml、css、xstl、dom、xhtml和 XMLHttpRequest七种技术,所以ajax就像是粘合剂把七种技术整合到一起,从而发挥各个技术的优势,威力惊人。本章节通过大量的案例让同学们快速深入的掌握 Ajax技术。

Javascript框架--JQuery(3天)JQuery基础

  • JQuery是什么
  • 流行的JavaScript库
  • JQuery快速入门
  • 什么是jQuery对象
  • Dom对象和JQuery对象的相互转换

打好JQuery基础,本章节重点是搞清楚JQuery对象,和Dom对象与JQuery对象的相互转换.

JQuery选择器

  • JQuery选择器介绍
  • JQuery选择器快速入门
  • JQuery基本选择器
  • JQuery层次选择器
  • JQuery过滤选择器
  • JQuery基础过滤选择器
  • JQuery内容过滤选择器
  • JQuery可见度过滤选择器
  • JQuery属性过滤选择器
  • JQuery子元素过滤选择器
  • JQuery表单对象属性过滤选择器
  • JQuery表单选择器
  • JQuery选择器综合练习

选择器是 jQuery 的根基, 在 jQuery 中, 对事件处理, 遍历 DOM 和 Ajax 操作都依赖于选择器。 jQuery 选择器的优点:1.简洁的写法2.完善的事件处理机制。本章节要求同学们能够 灵活熟练的使用Jquery各种选择器,为网站项目助力。

JQuery 中的 DOM 操作

  • DOM(Document Object Model—文档对象模型)介绍
  • DOM 操作的分类(XML DOM/CSS DOM/HTML DOM)
  • 查找节点
  • 创建节点
  • 内部插入节点
  • 外部插入节点
  • 删除节点
  • 克隆节点
  • 替换节点
  • 对属性进行各种操作
  • 对样式操作
  • 设置和获取 HTML, 文本和值
  • 常用的遍历节点方法
  • CSS-DOM操作
  • JQuery 加载并解析 XML
  • jQuery 中的事件 -- 加载 DOM
  • JQuery和Ajax整合(load、$.get()、$.post())

DOM(Document Object Model—文档对象模型):一种与浏览器, 平台 , 语言无关的接口, 使用该接口可以轻松地访问页面中所有的标准组件。本章节可以说是JQuery精华所在,当我们使用JQuery选择器获取到相应的节点后,就是靠JQuery 的 DOM 操作来完成具体的任务。要求同学们能熟练使用 JQuery的Dom方法的对各个节点进行操作,从而达到项目开发的要求。

MVC框架--(TP/ZF/YII 选其一讲 3天)TP基础

  • 什么是框架
  • 框架的优缺点分析及为什么要选择框架
  • 主流MVC框架介绍
  • ThinkPHP3.0特性介绍(单入口/CBD/AOP)
  • MVC模式
  • TP执行流程深入分析
  • URL调度模式

ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。同学们不是简单的学习怎么使用TP,而是站在MVC框架设计的高度,从源代码级别深度剖析ThinkPHP的具体实现。在授课过程中,融入了大量的编程思想。本章节要求同学们学习完后,有能力设计出属于自己的MVC框架。

TP源码级深度剖析

  • module功能及源码剖析
  • model详解
  • ORM与AR方式的区别
  • 实例化模型的执行流程
  • 连贯操作、自动验证及字段映射
  • 模板标签及逻辑控制
  • 模板中的循环结构
  • 变量调节器
  • 模板包含与布局
  • TP缓存应用
  • 模板常量替换
  • 扩展标签库
  • 自定义标签库
  • TP应用ajax
  • 多语言处理和面向切面简介
  • 导入机制和配置文件加载流程介绍

Linux(LAMP)3天Linux基础

  • Linux的初步介绍
  • 安装虚拟机和Linux系统
  • 初步使用Linux(登录/注销/关机/重启)
  • VI编辑器的使用
  • Linux目录结构介绍
  • Linux用户管理
  • Linux运行级别
  • Linux常用命令(init/pwd/cd/mkdir/rmdir/rm/man/touch/cp/mv/ln)
  • Linux常用命令(more/less/grep/管道命令/find/重定向命令ls)
  • 文件所有者、所在组和其它组管理
  • 文件和目录的权限管理

很多PHP开发的网站,都运行在Linux系统上,因此PHP程序员是必须掌握 Linux的使用,本章节要求同学们可以成功的安装Linux,并熟练使用Linux常用命令,达到在控制台下能操作Linux系统的水平。

Linux高级

  • SSH介绍和使用
  • 分区的概念
  • Linux分区及挂载和卸载(mount/umount)
  • 磁盘管理命令(df/fdisk)
  • Linux下Shell(chsh)
  • history命令妙用
  • tcp/ip基础及原理
  • Linux网络环境配置三种方法(setup/ifconfig/修改配置文件ifcfg-eth0)
  • RPM包管理(安装/删除/升级)
  • samba服务器
  • 设置任务调度命令crontab
  • 监控网络状态信息(netstat/ping/traceroute)
  • 进程的概念和管理(ps/top/kill/killall)
  • Linux启动过程分析
  • 压缩和解压(zip/unzip/gzip/gunzip)

本章节涉及到Linux一些系统的管理和设置,也是Linux服务器管理员需要 掌握的,当同学们将来成长为项目经理或是服务器管理员后,就会经常使用到本章节讲解的知识.

Linux下搭建LAMP开发环境

  • 安装gcc编译器
  • 安装libxml2 库
  • 安装libmcrypt 库
  • 安装zlib 库
  • 安装libpng 库
  • 安装jpeg6 库
  • 安装freetype 库
  • 安装autoconf 库
  • 安装gd库
  • 安装apache
  • 安装mysql
  • 如何加固你的mysql数据库
  • 将apache 和 mysql做成自启动
  • 安装php模块
  • apache 和 php的整合
  • 安装Zend 优化器
  • 安装discuz
  • 测试Linux下的LAMP开发环境

LAMP是(Linux+Apache+Mysql+Php) 的缩写,也是目前软件公司使用的比较 多的一种技术组合。本章节要求同学们可以独立在Linux系统下搭建LAMP开发环境,并对其进行优化处理,让LAMP开 发环境达到最优配置。

SVN版本控制(1天)SVN版本控制

  • svn是什么
  • svn的运行原理
  • svn软件的下载安装及配置
  • svn的基本使用
  • svn的单仓库和多仓库
  • svn客户端tortoisesvn的基本功能介绍
  • svn用户权限管理和配置
  • svn做成一个服务(service)
  • svn批处理文件
  • svn与apache的整合
  • svn与eclipse的整合

subversion(简称svn)是近年来崛起的版本管理软件(源码),是cvs的接班人 。目前,绝大多数开源软件都使用svn作为代码版本管理软件。本章节要求同学们能正确使用Svn进行项目协同开发, 并可以通过Svn来管理项目的源代码, 在项目开发过程中,使用svn来解决源码修改冲突和版本升级问题。

大型门户网站优化核心技术(3天)页面静态化

  • 明确几个重要概念(静态网址/动态网址/伪静态网址)
  • 页面静态化基本概念
  • benchmarking tool使用
  • 页面静态化的好处(速度快/seo/防sql注入)
  • php缓存机制完成页面静态化
  • 页面静态化-真静态
  • 数据库和页面静态化(真静态)结合
  • 页面静态化(真静态)的优点和缺点
  • 伪静态的基本概念
  • PHP程序实现伪静态
  • rewrite规则介绍
  • 使用.htaccess来控制网站目录访问权限
  • 真静态 VS 伪静态及其如何选择

我们大多数情况下是直接访问php文件,php脚本在服务器端执行并 返回信 息,对于一些大型的网站,访问量很大,频繁的操作 数据库会加重服务器的负担,在实际开发中,通常使用页面静态化 来解决。本章节要求同学们深刻理解页面静态化的原理,并能够正确使用页面静态化技术为网站提速。页面静态化 技术是PHP网站优化最常用的技术之一,也是面试官重点考察的内容。

memcached缓存技术

  • memcached基本概念
  • Memcached的作用
  • Memcached--运行原理图
  • Memcached-下载安装和基本操作
  • Telnet对Memcached进行CRUD操作
  • PHP程序对Memcached进行CRUD操作
  • Socket套接字对Memcached进行CRUD操作
  • Memcached机制深入了解
  • Memcached的生命周期
  • Memcached最佳实践
  • Session数据放入到Memcached
  • Memcached访问安全性讨论(Windows和 Linux)
  • 什么样的数据适合放Memcached讨论
  • Memcached vs session的比较
  • Redis(Key/value型数据库)介绍
  • 基于Memcached的在线词典(或其它小项目)

Memcached就是在内存中维护一张巨大的hash表,通过自己的一套算法来维 护数据的操作,这个算法比较复杂,这里我们只做简单的介绍,对我们PHP程序员而言,重点掌握如何在项目如何使 Memcached技术. 本章节要求同学们深刻理解Memcached运行原理,并能够正确使用Memcached对网站优化提速。 Memcached也是面试官重点考察的内容。

Mysql数据库优化

  • 数据库表设计的3NF
  • 什么是反3NF
  • SQL语句优化的基本概念
  • show status命令了解各种SQL的执行频率
  • SQL语句优化-定位慢查询(slow-query-log)
  • SQL语句优化-explain分析问题
  • 建立适当的索引
  • 哪些列上适合添加索引和索引的优缺点分析
  • 索引的类型介绍
  • 索引使用陷阱
  • 优化group by 语句
  • 使用连接来替代子查询
  • 选择合适的存储引擎(MyISAM和InnoDB)
  • 选择合适的数据类型
  • 对表进行水平划分
  • 对表进行垂直划分
  • 文件、图片等大文件用文件系统存储
  • 数据库参数优化配置
  • 合理的硬件资源和操作系统
  • MySQL数据库读写分离

目前90%的PHP网站都是以数据为中心的应用,数据库的好坏直接影响到程 序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:① 数据库设 计② sql语句优化③ 数据库参数配置④ 恰当的硬件资源和操作系统。本章节要求同学们能正确的设计数据库表, 并能够通过数据库正确设计、sql语句优化、数据库参数优化配置和表的分割对网站优化提速。

第三阶段:项目实战(提示:在不同的班级分别会讲下面的二个项目,一些老项目可能也会被新项目替换)课程名称阶段课程课程内容学习目标电子商务系统(基于shopex或基于ecshop)
  • 项目需求设计
  • 项目设计(数据库设计、界面设计)
  • 编码实现(小组分工协作)
  • 单元测试和集成测试
  • 项目的发布和维护

一款基于B2C网店系统,适合各类企业及个人快速构建个性化网上商店。使 用PHP语言及MYSQL数据库开发的程序,该项目在稳定性、安全性、负载能力有突出表现,同时使用到seo(搜索引擎 优化)、页面静态化技术及缓存技术

  • 熟练编写规范的项目需求设计说明书
  • 熟练编写项目数据库设计说明书,提升数据库建模设计能力
  • 增强MySql索引优化、查询优化、储存优化、PHP缓存技术、静态设计方面经验
  • 提升大型网站/程序开发经验,能独立根据需求文档设计系统框架
  • 熟练运用常用的设计模式(单例模式,工厂模式,观察者模式,命令链模式,策略模式),熟悉常用开源类包 及常用PHP拓展(比如:Smarty/Memcached/Curl/PDO
  • 培养良好的沟通能力和团队合作精神
  • 培养可承受一定的工作压力并在指定的时间内完成高质量的程序的能力
  • 完全OOP设计思想
  • 学习单元测试、集成测试和解决开发过程中的技术问题
  • 培养良好的编码习惯,代码编写规范
  • 项目实现跨平台应用(Linux/Windows)
  • 使用版本控制软件SVN开发

CMS内容管理系统(基于DEDECMS二次开发)
  • 项目需求设计
  • 项目设计(数据库设计、界面设计)
  • 编码实现(小组分工协作)
  • 单元测试和集成测试
  • 项目的发布和维护

织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名 的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历了二年多的发展,目前的版本无论在功能,还 是是易用性方面,都有了长足的发展,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中 小型门户的构建,当然也不乏有企业用户和学校等在使用本系统。织梦内容管理系统(DedeCms)基于PHP+MySQL的技 术架构,完全开源加上强大稳定的技术架构,使你无论是目前打算做个小型网站,还是想让网站在不断壮大后系仍 能得到随意扩充都有充分的保证。

SNS社会化网络系统(校内网)
  • 项目需求设计
  • 项目设计(数据库设计、界面设计)
  • 编码实现(小组分工协作)
  • 单元测试和集成测试
  • 项目的发布和维护

本系统是一个社交系统,可以联络你和你周围的朋友,了解他们的最新动 态;和朋友分享相片、音乐和电影;找到老同学,结识新朋友;用照片和日志记录生活,展示自我 .

传智播客PHP培训

第四阶段:传智播客特色课程

课程名称

总结以往所学知识,介绍面试、沟通等个人发展所需的知识和技巧。