用一天的时间,看完下面的 的视频,你会知道 PHP 是怎么回事。视频不可能包含所有与 PHP 相关的知识,也没有必要这样,我们只需要刚刚好的知识,可以让我们起步就行。理解了 PHP ,以后遇到问题也好解决。
准备
- 你需要一个可以执行 PHP 代码的环境,按照 《 Web 开发环境与服务器生产环境 》这个手册去创建。这个环境应该包含 nginx ,php,mariadb 。
- 看完上面的手册以后,你应该可以理解:
- 什么是虚拟机
- 怎么样用 Vagrant 创建与管理虚拟机
- Linux 系统的基本操作
- 怎么样在 Linux 系统上搭建一个可以运行 PHP 程序的环境
- 本地电脑与虚拟机之间的同步目录怎么设置
- 本地电脑与虚拟机之间的网络设置
- nginx 的基本配置
- 怎么样设置 nginx 的虚拟主机
- 在本地电脑上创建一个目录,在这个目录下面放的是你要执行的 PHP 的代码,把这个目录设置成 nginx 虚拟主机的根目录,这样在浏览器上打开这个虚拟主机的地址,就可以执行你创建的 PHP 文件。
- 可以在本地电脑用编辑器打开你为学习 PHP 创建的目录,然后直接在本地电脑上创建 PHP 文件,撰写 PHP 的代码。
目标
- 变量
- 字符串的操作
- 数组与数组的使用
- 流程控制
- 表单
- 会话
- 面向对象
- MariaDB / MySQL 数据库的使用
- 用 PHP 操作数据库
基础
非常基础,非常简单,也非常重要。会让你了解 PHP 是个什么玩意儿。
- 认识 PHP
- 认识 PHP 04:42
- 注释 - Comments 01:22
- 变量 - Variables 03:28
- 字符串
- 字符串 - String 02:54
- Heredoc 02:17
- 清理字符串前后多余的字符 - trim 03:17
- 字符串格式化 03:23
- 查找字符串中的字符串 02:48
- 查找字符串中的字符的位置号 02:21
- 替换字符串中的字符串 03:00
- 用指定的分隔符号把字符串转换成数组 02:01
- 截取固定长度的字符串 02:20
- 数组
- 数组 - Array 04:23
- 往数组的项目里添加或删除项目 03:02
- 关联类型的数组 02:52
- 嵌套的数组 01:38
- 检查数组里是否包含特定名字的项目 - array_key_exists 01:29
- 检查数组里是否包含特定值的项目 - in_array 02:07
- 对数组排序 - sort 02:51
- asort 与 ksort 02:36
- 数组的控制指针 02:16
- 用函数处理数组里的每个项目 - array_walk 01:39
- 数组的并集,交集,差集 03:12
- 流程控制
- 条件判断 - if 06:10
- 条件判断 - switch 03:48
- 循环 - while 02:16
- 循环 - for 02:01
- 循环 - foreach 02:27
- 表单
- 表单 - Forms 01:37
- 定义表单 03:23
- 得到用户在表单里输入的内容 04:45
- 服务器相关信息 - 判断请求的方法 05:33
- 会话
- 会话 01:22
- Cookie 03:45
- 开始会话 04:16
- 重置会话信息与结束会话 01:32
- 用户登录的功能 09:37
- 函数
- 函数 - function 02:46
- 函数的参数 05:33
- 用引用的方法传递参数 03:11
- 使用关联数组作为函数的参数 02:59
- 变量的作用域 02:41
PHP 面向对象基础
对象(Object),在现实生活里,表示的就是东西。一个苹果,一个水杯,一个手机,这些都是对象。对象有自己的属性,比如苹果的颜色可能是绿的,或者红的,味道可能是甜的或者酸的。对象也可以有自己的行为,也就是它能做的事情,比如手机可以打电话,发短信。
下面这部分视频,介绍了面向对象在 PHP 里的使用方法,比如什么是 Class,怎么样为 Class 添加属性和方法,访问控制是怎么回事,什么是 setter 还有 getter 。你只需要认识这些东西就行,注意这属于 OOP(面向对象的编程),并不是 OOD(面向对象的程序设计)。你想了解 OOD 相关的知识,推荐 Lynda.com 的 Simon Allardice 的《 Object-Oriented Design 》这个课程,他介绍了面向对象的程序设计,怎么样去实施,讲的非常好。
- 创建 Class 02:46
- 添加属性 - properties 04:22
- 添加方法 - methods 02:19
- 继承 - inheritance 02:36
- 访问控制 - private 03:02
- 访问控制 - protected 02:51
- 静态属性与方法 - static,self 03:37
- 在子类里去引用父类 - Parent 03:21
- 复制与克隆对象 03:07
- 克隆对象时要做的事- __clone() 01:44
- 构造函数-创建对象之前做点事- __construct() 03:51
- 设置器与获取器 01:05
- 设置器 - setters 02:56
- 获取器 - getters 01:22
- 设置不可见的属性自动调用的函数-__set 01:52
- 设置一个不存在的属性 01:41
- 获取不可见的属性自动调用的函数-__get 01:17
- 限制访问的属性 02:30
- 抽象类 - abstract classes 04:27
- 抽象方法 - abstract method 03:39
- 接口 - interface 04:40
- Traits 03:19
- 自动载入类文件 - SPL 03:50
- 命名空间 - namespace 05:29
- 命名空间 - use, as 01:32
数据库管理系统
这部分内容介绍了 MariaDB / MySQL 数据库管理系统的使用,介绍了 SQL 这种数据库查询语言。学习这部分,可以先 SSH 到你为学习 PHP 创建的虚拟机,然后登录到数据库管理系统,可以使用 mysql -u root -p ,这种方式去登录,root 是数据库管理系统的管理员,-p 的意思是,下面要输入这个用户登录的密码,成功以后,你就可以在命令行下面,去操作数据库系统了。比如创建用户,分配权限,创建数据库,为数据库添加数据表,定义数据表的结构,使用 SQL 语言在数据库上插入,更新,删除数据 ...
- 用户
- 用户登录 02:57
- 创建新用户 02:59
- 分配权限 - GRANT 05:22
- 显示用户列表 01:46
- 显示用户权限 01:49
- 吊销用户权限 - REVOKE 01:57
- 重设密码与删除用户 01:14
- 定义数据库
- 创建,使用,删除数据库 02:39
- 创建数据表 - CREATE TABLE 03:06
- 添加数据栏 03:42
- 修改或删除数据栏与数据表 02:28
- 重新创建数据库与数据表 04:14
- 操作数据库
- 插入数据 - INSERT 03:56
- 选择数据 - SELECT 03:29
- 更新与删除数据 - UPDATE and DELETE 02:45
- 限制结果的数量与偏移 - LIMIT and OFFSET 02:52
- 操作符 03:29
- 关系
用 PHP 操作数据库
通过上面的数据库管理系统的学习视频,你应该了解了基本的 SQL 语言,怎么样使用这种语言去操作数据库。下面这部分内容,可以了解一下怎么样通过 PHP 去操作数据库。PHP 提供了一个操作数据库的层,也就是你可能不需要手工去写 SQL 来操作数据库,而是通过 PHP 提供的这个数据库操作层来处理数据,下面主要介绍的是用 PDO 的方式来处理数据。
你只需要了解一下就行,因为在创建真正的 PHP 应用的时候,你很可能会选择一套 PHP 的框架去做,这个框架也很可能会有自己的处理数据的方式。
- 创建数据库 01:55
- 连接数据库 03:12
- 处理异常 01:07
- 插入数据 04:47
- 使用命名的占位符 01:51
- 使用关联数组绑定 01:50
- 选择数据 - fetch() 04:59
- 输出得到的数据 01:40
评论
你这绝对是在诱惑我买!木有钱
9 年 9 个月 以前
皓哥 想学习php做wordpress 和 drupal的开发 不知道 怎么学 学到什么程度 给我建议吧
9 年 9 个月 以前
昊天,先学会 PHP 的基础,然后我们一起再去做 WordPress 与 Drupal 的开发。
9 年 9 个月 以前
那面向对象还学习吗
9 年 9 个月 以前
嗯,需要。这个手册里的面向对象是个基础。至少要知道它们是什么,怎么用这些东西。
9 年 9 个月 以前
恩恩 好的
9 年 9 个月 以前
只会那么一点HTML ,基本是零基础。英文不大好 。适合学习你PHP这个课程吗?
9 年 9 个月 以前
没事,想学就能学会。我也只有 90 年代的初中英文水平。后来坚持看英文资料,不懂的就查,习惯就好了。
9 年 9 个月 以前
我发现宁浩网上的课程都是短小精悍,让学员能马上知道“这个到底是什么东西,可以做什么”,以及相关的基础知识。
问题来了 -- 这些基础知识学会之后比较抽象也容易忘记,请问有相关的项目可以练习么,
比如我在这里学习了php 和 html5,如何把他们应用起来呢?
9 年 8 个月 以前
嗯呐。最近就一起用一下。
9 年 8 个月 以前