PHP详细学习计划

PHP详细学习计划

第一阶段:(PHP+MySQL核心编程




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的绘图函数完成项目的需求.




开发自己的MVC框架-ItcastPHP框架:




ItcastPHP框架介绍及目录结构
ItcastPHP框架的控制器基类
ItcastPHP框架的模型基类
ItcastPHP框架的DAO
ItcastPHP框架的模板
ItcastPHP框架的配置和初始化文件
ItcastPHP框架的常用工具类
ItcastPHP框架应用




PHP中有很多MVC框架,比如TP,ZF,YII和CI。但是这些都是别人写好的框架,我们只是简单的使用,这样 对MVC模式的理解比较肤浅,因此为了让同学们从原理和本质上,并从编程思想上深刻的认识MVC和框架的含义,我们带同学们开发自己的MVC框架-ItcastPHP框架,并使用ItcastPHP框架完成中级项目,从而达到融汇贯通的学习效果。








中级项目(5天)




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


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


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






第二阶段:PHP高级课程




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模板技术




模板技术是什么和快速入门
模板引擎原理分析
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回顾加强




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


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








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




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




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




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




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




正则表达式




正则表达式(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基础与实战




什么是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技术。






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方法的对各个节点进行操作,从而达到项目开发的要求。




TP基础




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




TP源码级深度剖析






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




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




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开发环境达到最优配置。




深度优化LNMP


Centos准备及配置
准备nginx 基础工作环境
编译安装php
对进行linux优化加固
优化linux启动项
linux安全加固及网络优化
对nginx深度优化
对mysql深度优化
对php深度优化




在普通2G内存的笔记本电脑上,将Nginx 从并发6000优化到并发18000;将Mysql 读取10万次花费80秒优化到27秒;将php并发186优化到300,并且采用php代码缓存之后,整体动态请求并发超过6500,通过合理架构,合理代码逻辑,经过优化之后服务轻松可以达到并发1-2w。






Redis高级技术






Redis是什么
Redis的运行原理
Redis软件的下载安装及配置
Redis的基本使用
Redis最强优势分析
Redis支持的各个数据结构详解
Redis最佳实践-优化大型网站
在Redis如何应用集群
Redis+php+mysql综合应用




Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。目前很多大型网站都使用Redis来优化性能,从而解决大并发,大存储的问题。






SVN版本控制




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




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






页面静态化




明确几个重要概念(静态网址/动态网址/伪静态网址)
页面静态化基本概念
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(搜索引擎 优化)、页面静态化技术及缓存技术






CMS内容管理系统(基于DEDECMS二次开发)




项目需求设计
项目设计(数据库设计、界面设计)
编码实现(小组分工协作)
单元测试和集成测试
项目的发布和维护




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






SNS社会化网络系统(校内网)




项目需求设计
项目设计(数据库设计、界面设计)
编码实现(小组分工协作)
单元测试和集成测试
项目的发布和维护




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


传智播客PHP培训






PHP微信公众平台API接口开发






PHP微信公众平台API




Access_token & token
二维码
微信事件处理(关注,取消关注等)
接收处理微信消息(文本,媒体图片,视频,语音,地理位置等)
发送消息(媒体消息,文本消息,音乐消息,图文消息)
菜单定制(创建,删除,菜单事件)
结合框架(thinkPHP),定义微信操作类






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












第四阶段:企业高端课程,国内首家推出六大核心课程




Mongodb


MongoDB介绍


NoSQL 的介绍
MongoDB数据库特点
在Windows和Linux下安装MongoDB
如何卸载MongoDB
监听端口与服务器管理端口说明


MongoDB进阶




Mongodb 中的 CRUD
Mongodb 中的帮助
Mongodb shell
Mongodb 客户端
几个重要的概念(文档(document) 、集合(collection)、Javascrip shell、_id属性)
使PHP操作MongoDB
Mongodb 中的排序、限制查询、记录数(可用于制作翻页功能)
Mongodb 中的数据类型Json-like
Mongodb 中的查询字段
Mongodb 中的修改符($lt , $lte , $gt , $gte 、$in , $nin、$exists 、$where等 )




MongoDB高级


Mongodb中管理索引(ensureIndex、dropIndexes、db.user.getIndexes())
Mongodb的其他高级功能(复制、分片)








在Linux和Windows下正确的安装和配置MongoDB.
在实际项目中灵活的使用MongoDB进行CRUD操作
对面向文档的概念有较为深刻的认识
了解MongoDB底层的运行原理
使用MongoDB对项目进行优化,对MongoDB高级特性有初步了解.








全文索引引擎Sphinx


什么是 Sphinx




Sphinx介绍
什么是全文索引引擎?
Sphinx 的特点剖析
如何正确安装Sphinx及其配置


Sphinx进阶




Sphinx 中的几个概念(数据源、中文分词、建立索引、搜索)
Sphinx的基本原理与检索流程
SphinxSE -- 基于Sphinx存储引擎检索
Sphinx 的程序目录(bin、var、etc等)
Sphinx 的使用细节
Php 操作 sphinx
增量索引的配置方式
使用SphinxSE
匹配模式、布尔查询、扩展查询、权值计算、排序模式、结果分组(聚类)、分布式搜索、searchd 日志格式
相关API的介绍




在Linux和Windows下正确的安装和配置Sphinx.
灵活的使用Sphinx进行对项目进行优化
通过Sphinx行高速索引、 高速搜索及高可用性。它们可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索




Mysql数据库读写分离技术


读写分离好处
读写分离原理剖析
负载均衡、容错性和备份
如何正确安装和配置Mysql主从服务器
Sql Nodes 和Data Nodes和数据库集群结构图
Mysql的Replication的调优配置
读写分离和PHP程序整合优化


正确的安装和配置Mysql主从服务器并实现复制。
在网站高并发、海量存储和大负载的情况下,灵活使用Mysql读写分离优化网站






Email邮件技术


发送邮件流程分析
STMP和POP3协议剖析
使用PHP的mail函数实现转发邮件
搭建自己的STMP服务器实现发送邮件
使用PHPMailer实现发送邮件
Email邮件技术最佳实践
Email邮件技术中文乱码和安全性讨论


能使用PHP的Email函数和PHPMailer类发送邮件
正确的搭建和配置自己的邮件服务器完成发送和接收
对STMP和POP3协议有所了解,完成邮件开发中的实际需求




PHP网上支付技术




网上支付的两种接入方案
直接与银行对接
通过中间公司间接与银行对接(网银、易宝支付)
使用支付宝完成支付业务
易宝支付接口交互-uml
网上支付协议介绍
开发自己的网上支付平台
md5-hmac说明
对支付请求的数据加密生成md5-hmac签名串
获取支付结果信息并对支付结果返回的数据加密生成md5-hmac
验证从支付接口返回的签名是否被篡改,并对返回结果做处理




网上支付是电子支付的一种形式,它是通过第三方提供的与银行之间的支付接口进行的即时支付方式,采用在网上电子支付的方式节省了交易的开销。目前,很多大型电子商务网站都应用到了网上支付技术,比如拉手网、淘宝网、当当网、京东商城、携程网等。通过学习,您将掌握如何使用php技术来开发自己的网上支付平台,并对网上支付开发的细节和注意事项有更深刻的认识。






Nginx与服务器集群技术




Nginx介绍
Nginx服务器的安装与配置
Nginx配置虚拟主机
Nginx HTTP负载均衡和反向代理
Nginx 负载均衡实现Apache服务器集群技术
Nginx 负载均衡和反向代理优化方案
Nginx的Rewrite规则介绍
Nginx与PHP(FastCGI)的安装、配置与优化






Nginx 是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性:在高连接并发的情况下,能够支持高达 50,000 个并发连接数的响应。也可以支持作为 HTTP代理服务器对外进行服务。Nginx 同时也是一个非常优秀的邮件代理服务器。Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:即使运行数个月也不需要重新启动。



http://www.mepower.com.cn/点击打开链接

你可能感兴趣的:(php)