PHP 进阶参考资料

初学者如何变成PHP大牛
https://blog.csdn.net/itzhengmaolin/article/details/78197352

  1. 怎样学习 PHP,学习的顺序是怎样的?
  2. PHP学好后,可以做什么?
  3. 听课听得懂,一旦自己独立写程序,就没有思路!
  4. 学习PHP需要怎样的基础,算法重要吗?


    http://blog.51cto.com/hanshunping/1265208
    http://blog.51cto.com/hanshunping/1273056

    1 阶段 PHP前端网页开发基础

    要达成一个共识

  • 就是学习任何一门编程技术都需要我们付出心血,都要讲求循序渐进,由浅入深。
  • 对每一个知识点要搞透,然后通过案例来加深认识,
  • 最后还需要把学习到的各个知识点实际运用到项目中去,才能融会贯通,最后才能到达能自如的驾驭项目
  • 坚持每天学习一部分内容,最后总会把这些技术都精通掌握的

PHP学习顺序图
1.jpg
3.jpg

  • 只要坚持每天学习一部分内容,最后总会把这些技术都精通掌握的


1.1 PHP最主要的作用就是做站

  • 也就是说PHP技术是用于开发网站的,被誉为web开发首选技术
  • 企业中最需要的是对
    • Http协议
    • Javascript
    • PHP工作机制
    • PHP程序调优
    • LAMP环境调优
    • OOP 等技术熟悉的人,而这样的人是非常难招的
  • 大家记住欲速则不达,速成的结果就是以后浪费更多的时间
  • 回想这么多年你走过的路,有多少次为了走快点就跳着走,最后又浪费时间返工的事情
    • 按照正确的顺序才能更快、更好的掌握PHP


  • 在视频教程中我讲了很多的案例并布置了作业,
    • 一定要自己亲手把代码熟练的写出来
    • 记住是亲手写出来,而不是照着我的代码抄


  • 学习编程是”做中学”,是做的过程中学会的,而不是会了在做,
    • 正是在编写一行行代码过程中,逐渐建立编程思想的
    • 思想→代码这个过程是需要敲很多代码的。


1.2 HTML 基础与加强

  • HTML标签
    • 文本标签
    • 图片标签
    • 图片热点标签
    • 框架标签
    • 表单
    • 表格
    • 块级元素
    • 行内元素

1.3 XHTML 基础与加强

  • XHTML DTD
  • XHTML模块
  • XHTML属性
  • XHTML事件
  • XHTML结构化

1.4 HTML5 设计与应用

  • HTML5标签
    • section
    • article
    • aside
    • datalist
    • details
    • applet
  • HTML5 表单
  • HTML5 新属性
  • WEB存储
  • 多媒体 audio & vedio
  • canvas

1.5 CSS基础与加强

  • CSS 选择器
  • CSS 伪类选择器
  • CSS 盒子模型
  • Flex 弹性布局
  • CSS 定位
  • CSS 媒体查询
  • CSS 表格
  • CSS 列表

1.6 Div + Css布局与应用

  • 盒子模型经典案例
    • 优酷首页面
    • 仿sohu首页面布局
    • 可爱屋网站首页
  • 涉及的知识点,CSS定位的四种方式
    • 左浮动
    • 右浮动
    • 清除浮动
    • 标准流和非标准流
    • 设置对象的层叠顺序
    • 块元素和行元素的转换等

1.7 JS

  • JS基础
    • JS运行原理
    • JS基本数据类型
      • String
      • Number
      • Boolean
      • null
      • undefined
    • 复合数据类型
      1. - 数组
      2. - 对象
  • JS流程控制
    • 单分支 if
    • 双分支 if else
    • 多分支 if else if else if
    • switch-case-default
    • 循环控制
      • for语句
      • while语句
      • do-while语句
  • JS函数
  • JS数组
  • JS事件驱动
  • DOM & BOM 编程
  • WEB网站设计与应用
    • 商业级网页制作
    • 推荐看 轻松搞定网页设计(html+css+javascript) 视频教程

2 阶段 PHP核心编程

2.1 PHP基本语法加强

2.2 PHP函数

2.3 数组,排序和查找

2.4 PHP面向对象编程

2.5 PHP错误处理和异常处理

2.6 预定义超全局数组

2.7 cookie & session

2.8 PHP文件编程

2.9 PHP绘图技术

  • 专业的报表开发—JpGraph
    • https://jpgraph.net/
    • JpGraph的安装和配置
    • JpGraph实际应用-网民支持情况统计图
    • JpGraph中文乱码处理

3 阶段 Mysql数据库编程&中级项目阶段

编程要学以致用,需要一个项目来把前面学习到的知识实际运用一下
知识点和项目两者并重
Http协议中的referer 防盗链
技术就是一层窗户纸,捅破了,你感觉没有什么,不就是这么简单吗?
可是如果你不知道,就感觉很神秘,因此你了解的知识点越多越底层,就可以让你的项目更有技术含量

3.1 mysql 数据库

  • 任何一个有商业价值的项目或者网站,都离不开MySQL数据库
  • 系统深入的掌握MySQL数据库各种操作非常重要
  • 重点是围绕

    • ddl
    • dql
    • dml
    • dcl
    • dtl 学习
  • MySQL的优化细节

  • 在项目中如何设计出有商业价值的数据库模型的技巧
    • E-R(Entity-Relationship)图

3.2 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
    • MERGEMYISAM
    • InnoBDB
  • 如何选择表的存储引擎
  • 事务的基本概念
  • 事务和锁
  • 事务提交和回滚操作

  • PHP程序中如何使用事务、事务隔离级别
  • 表的主键和外键
  • 多表联合查询和笛卡尔集
  • 自连接、单行子查询和多行子查询、=
  • 蠕虫复制创建海量表
  • 合并查询(union , union all,intersect , minus)
  • 表的内连接和外连接(左外连接、右外连接和完全外连接)
  • 维护数据的完整性-约束(not null、unique, primary key,foreign key,和check )
  • 商店售货系统表设计案例
  • 索引(主键索引/唯一索引/全文索引/普通索引/复合索引)
    • 索引优缺点分析
    • 触发器和存储过程

3.3 mysql数据库编程

  • mysql
  • mysqli
  • pdo

3.3.1 mysql扩展库简介

mysql扩展库操作mysql数据库程序
mysql_query()执行结果、释放资源和连接
对mysql数据库进行CRUD

3.3.2 mysqli扩展库简介

第一个mysqli扩展库程序
$mysqli->query()执行结果
mysqli对数据库进行CRUD操作
mysqli扩展库增强—批量执行sql语句
mysqli扩展库增强—事务控制
事务的acid
预处理 MySQLi_STMT

3.3.3 PDO

PDO的介绍和使用

3.4 PHP 项目

看十遍,不如自己实际动手做一个项目
项目经验就是从一行行代码中积累的
编程的能力也是通过攻克一个个程序bug提高的
中级阶段项目是把前面学习过的知识点实际运用到项目中的最佳时机
也是检验自己学习成果的时候

3.4.1 BBS系统

为用户提供互动和交流功能

3.4.2 OA无纸化办公系统

OA无纸办公系统是针对中小型企业内部自动化办公管理的要求进行设计的,实现了 文件类信息的强大的管理能力;对员工基础信息(人事消息)的管理功能等;个人办公的信息自动化管理功能;
发布会议信息,并对会议信息进行管理;对系统用户进行管理;为了加强数据保密性,为每个用户组设置权限级别

3.4.3 网上在线支付

为互联网客户提供在线支付功能,可立即应用于项目中

3.4.4 京东电商系统

将电子商城给普通用户提供如下功能:购买商品、用户个人资料管理及订单查询 等功能。用户在未进行登录时,只可以查看商品的详细信息及公告信息,登录后可以执行购买商品操作、对商品进 行评论及管理个人资料。管理后台实现: 商品信息、商品类别信息、用户信息、订单信息、公告信息及评论信息进 行管理,用户可通过相应的功能按钮,进入相应的页面,对信息进行管理

3.4.5 分类信息平台

及时雨供求信息网主要用来为用户提供信息服务,对于生活和工作中的各类 信息都应尽可能地全部包括在内
公寓、求职、招聘、培训、招商、房屋、车辆、出售、求购等信息
项目 发布后
要实现能够为用户生活
工作带来极大地方便并提高企业知名度
为企业产品宣传节约大量成本的目标
及时雨供求信息网的主要目标是提供强大的搜索功能,准确的信息定位描红功能,付费信息的管理、免费信息的审 核和删除功能

3.5 PHP中级问题

练习1: 简述什么是MVC模式
练习2: 项目开发分哪几个阶段,分别是什么,各自的内容包括什么
练习3: PHP设计模式常见的有哪五种,分别写出一个案例说明
练习4: 项目在整合的时候应该如何处理
练习5: 什么是数据库的3NF
练习6: 列举web开发中的安全性问题
练习7: Apache服务器如何配置虚拟主机,如何把自己的项目上线,如何申请域名和主机,让自己的项目可以被所有人访问.
练习8: 如何定时备份Mysql数据库,请简述在windows和linux操作系统下的具体实现方案

4 阶段