环境准备:
apache:Web服务器端软件
MAMP : MacOS + Apache + MySQL + PHP (PHP服务器运行环境)
Mac搭建PHP开发环境(mamp+phpstorm+xdebug)
遇到报错问题:You don't have permission to access / on this server
PHP 和 Apache 的关系 请参考
语法
先了解php大致的使用,有了个整体的印象,后面到使用的时候可以下载php手册随时参看。
PHP基本使用
1 1、数组
2 2、函数
2.1 可变函数
2.1.1 通过变量的值来调用函数
2.2 内置函数
2.2.1 php内置了很多函数,可以直接调用,例如:str_replace
3 3、类和对象
3.1 区别
3.1.1 对象是具体的实例,是一类东西的一个具体实例。eg:五菱宏光
3.1.2 类是抽象的概念,是一类东西的结构描述。eg:汽车
3.2 函数
3.2.1 在面向过程的程序设计中function
3.2.2 构造函数
3.2.2.1 __construct 对象创建的时候调用
3.2.3 析构函数
3.2.3.1 __destruct 1、代码执行完会自动回收 2、显式的销毁unset($car)
3.2.4 函数名不区分小大写
3.2.5 函数与变量都不需要先申明。php是先解析再执行,与oc是不一样的除了"条件函数"和"函数中的函数"
3.3 属性
3.3.1 一个类它所拥有的属性,eg:汽车的属性是 轮胎
3.3.2 外部访问:类->对象操作符
3.3.3 静态属性:使用::双冒号,不允许用->访问
3.3.4 内部调用:使用$this伪变量调用
3.4 关键字
3.4.1 public(默认)、protected、private (适用于:属性、方法)
3.5 方法
3.5.1 在面向对象中function
3.5.2 静态方法
3.5.2.1 static修饰
3.5.2.1.1 可以通过类名直接调用,操作符为双冒号::
3.5.2.1.2 不允许用$this伪变量,要用self parent
3.5.2.2 构造函数定义成了私有方法,则不允许直接实例化对象,要用静态方法了
3.6 继承
3.6.1 使用 parent:: 调用父类的函数
3.7 重载
3.7.1 当属性或者方法不存在的时候,动态的创建属性与方法
3.7.2 属性的重载通过__set,__get,__isset,__unse
3.7.3 方法的重载通过__call来实现
4 4、字符串操作
4.1 定义的方式
4.1.1 1、单引号 2、双引号 3、heredoc语法结构
4.1.2 区别
4.1.2.1 单引号--->普通字符
4.1.2.2 双引号-->可以包含字串变量
4.2 连接
4.2.1 用 . 把字符串拼接起来
4.3 相关函数
4.3.1 去空格、计算长度、截取、查找字符串、替换字符串、格式化字符串、合并与分割、字符串的转义
5 11、数据库操作
5.1 主流的数据库
5.1.1 sSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access
5.2 连接MySQL数据库
5.2.1 mysql_connect
5.2.1.1 $host,$user,$pass
5.3 查询
5.3.1 分页数据:利用当前页为$page,每页显示$n条数据
5.4 插入
5.5 更新与删除数据
6 10、PHP异常处理
6.1 使用
6.1.1 try catch,throw抛出的异常会在catch中捕获
6.2 异常处理类
6.2.1 Exception
6.2.2 所在行号:$ex->getLine()
6.2.3 所在文件:$ex->getFile()
7 9、图形图像操作
7.1 PHP的GD库是用来处理图形的扩展库
7.2 验证码的实现原理
7.2.1 循环进行随机绘制来实现噪点干扰
7.3 图片加水印原理
7.3.1 在图片上面加上一个字符串或者logo、图片。imagecopy
8 8、取得当前的Unix时间戳:time()
8.1 时间戳
8.1.1 从 1970年1月1日 00:00:00 到当前时间的秒数之和
8.2 获取当前时间
8.2.1 Date/Time 函数
8.3 取得日期的Unix时间戳
8.3.1 strtotime
9 7、文件系统 (Filesystem)
9.1 读取文件内容
9.1.1 整个文件全部读取到一个字符串 file_get_contents
9.2 文件是否存在
9.3 取得文件的修改时间
9.4 取得文件的大小
10 6、会话控制(session与cookie)
10.1 cookie
10.1.1 读写
10.1.1.1 setcookie/$_COOKIE['key']
10.1.2 删除
10.2 session
10.2.1 读写
10.2.1.1 _SESSION
10.2.2 删除
10.2.2.1 unset 例如:unset($_SESSION['name']);
10.2.2.2 删除所有:session_destroy();但session_id任然存在。不会立即销毁全局变量$_SESSION中的值,下次启动时才会清空。unset是立即销毁的
10.3 关系
10.3.1 将用户的会话数据存储在服务端,没有大小限制,session id是通过cookie来保存的,因此从某种程度上来说,seesion依赖于cookie
11 5、正则表达式
11.1 基本语法
11.1.1 /模式/ 主要转义
11.2 元字符
11.2.1 有特殊含义 例如:^:表示开始 或者 取反(在方括号内)
11.3 贪婪模式
11.3.1 每个元字符匹配一个字符 使用 + 可以匹配多个
11.4 懒惰模式
11.4.1 使用 - 尽可能少的匹配
11.5 进行模式匹配
11.5.1 $matches[0]保存完整模式的所有匹配
11.5.2 $matches[1] 保存第一个子组(括号)的所有匹配
11.6 搜索和替换
11.6.1 $0,代表全匹配,$1,代表匹配第一个子组