匿名函数和闭包
PHP系统函数
1,时间
① 常用的书写时间格式的函数 date()
② 获取时间戳 time() 返回的是秒数
③ microtime() 获取微秒级别时间
2,数学函数
PHP的错误分类
页面汉语编译乱码问题,可以通过下图解决
header('Content-tyep:text/html;charset=utf-8');
PHP的字符串类型
1,单引号里面的能转义\'
而双引号里面不可以转义\'
2,双引号可以识别$
所以,双引号里面可以解析php变量
获得字符串长度的函数(以字节为单位;中文在UTF-8编码下面,一个汉字占了3个字节)
strlen(字符串变量)
要是想获得多字节的字符的字符串的长度,需要借助mbstring扩展,
1,要用这个扩展,需要先找php.ini
文件
操作字符串的各种函数
1,字符串和数组间的转换
2,去除字符串两边的空格
3,字符串的截取
strstr()
可以用来取到文件的后缀名
4,字符串大小写转换
5,查找字符在字符串中出现的位置
常与截取的函数联用
6,字符串中的字符替换
7,字符串的格式化输出数据
php数组
数组的遍历
利用for来循环遍历数组
数组相关的函数
1,数组的排序
数组的指针函数(可以任意控制数组的任意指针,这些函数,都是获得数组的元素值)
数组的操作函数
php面向对象
1,类的定义
类的构造方法和this关键字
类继承
PHP的访问权限
只有public修饰的可以在类外访问,protected和private不能再类外访问
php的类重写父类的方法
一种:子类完全重写父类的方法
二,是子类没有完全重写父类方法,而是在父类方法的基础上,添加功能,(就是先执行父类的方法后,在执行自己增加的功能)
php的final关键字
1,final关键字修饰这个类,代表类不能不被继承
2,final修饰类方法,表示这个方法不能被重写
PHP的几种魔术方法
1,在类外面调用类里面的私有属性或者受保护的属性时,会自动触发__get()
方法和 __set()
方法;
2,在类外面销毁私有或者受保护的属性时,会触发__unset()
方法,可以进行判断,并且销毁私有和受保护的属性,一般在类外面可以直接使用unset()
方法来销毁public修饰的属性。
php的序列化和反序列化(serialize unserialize)
程序的运行都是在内存中执行的,当程序结束时,所有的数据都会消失,比如我们生成初始化一个对象,当程序执行完毕时候,这个对象就会销毁,那么我们如果想把这个对象保存下来呢?我们可以把对象保存到一个文本文件中,但是文本文件只能保存字符串,所以,我们就需要序列化,把对象转化为字符串,然后保存到文件中,这个过程对象转为字符串的过程就是 序列化
反序列化,(就是把数据从文本文件中取出来,把字符串转为php的对象的过程)
php的常量和静态变量 静态方法
静态变量和静态方法不是属于某一个对象的,他是属性整个类的
PHP的抽象类和接口
1,抽象类
①抽象类不能实例化,为的就是让别的类继承的。而且子类必须实现抽象类里面的抽象方法
②抽象类可以继承抽象类,并且子类如果继承这个抽象类,必须实现两个抽象类里面的所有抽象方法
③抽象类里面可以有实现的方法,也可以有抽象方法
何时使用抽象类?
接口
①接口里面的都是抽象方法,必须是用public修饰 实现接口的类必须实现接口里面的抽象方法,接口里面不写属性和常量
php可以实现多继承,就是一个子类可以继承多个父类 (使用trait来修饰类名)
如何实现继承多个类呢?
PHP命名空间的使用
当在一个php文件里面引用另一个命名空间的方法
php中,调用函数的方法有两种,一种是函数名加括号,还有一种调用函数的方法
如果用这种方法,调用对象的方法呢?
一些使用的常量和方法
异常捕获
自定义异常
还有一种方法,不用去捕获,利用set_exception_handler()方法来设置,如果程序出现异常了,调用哪一个函数来处理