global:全局访问局部
静态变量:static,是在函数内部定义的变量,使用static关键字修饰,用来实现跨函数共享数据的变量:函数运行结束所有局部变量都会清空,如果重新运行一下函数,所有的局部比那辆又会重新初始化。
基本语法:
function
匿名函数:没有名字的函数
基本语法:
变量名 =functiong(){
函数体
}
变量保存的匿名函数,本质上是一个对象(closure)
闭包:closure ,一次来源于一下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和位自由变量提供绑定的计算环境(作用域)
简单理解:函数内部有一些局部变量,在函数执行之后没有被释放,是因为函数内部还有对应的函数在使用。。
伪类型(实际上在php中不存在的类型,但是可帮助程序员更好的查看操作手册从而方便学习)
为类型主要有两种:在三大类八小类之外
mixed:混合的,可以是多种PHP中的数据类型
Number:数值的,可以是任意数值类型(整形和浮点型)
错误分类
1 语法错误 :代码在编译过程出错 parse error
2 运行时错误:代码编译通过,但是代码在执行的过程中会出现一些条件不满足导致的错误(runtime error)
3 逻辑错误:你懂的
所有看到的错误代码在PHP中都被定义成了系统常量(可以直接使用)
1)系统错误:
E_PARSE 编译错误,代码不执行
E_ERROR :fatal error 致命错误,会导致代码不能正确继续执行(出错的位置断掉)
E_WEARNING 警告错误,不影响代码执行,但可能得到意想不到的结果
E_NOTICE 通知错误,不影响代码执行
2) 用户错误:
用户在使用自定义错误出发点时候,会使用的错误代号(系统不会用到)
3)其他:E_ALL 代表着所有错误
排除通知级别
notice:E_ALL & ~E_NOTICE
只要警告和通知: E_WARNING | E_NOTICE
错误触发
程序运行时触发:主要针对代码的语法错误和运行时错误
人为触发:
;
错误显示设置:哪些错误该显示,以及该如何显示
在php中,其实有两种方式来设置当前脚本的错误处理
1、php的配置文件:全局配置:php.ini文件
Display_error:是否显示错误
2、在运行的php脚本中设置 erroe-reporting()设置对应的错误显示级别
ini_set("配置文件中的配置项")
错误日志设置
1、开启日志功能
2、指定路径
自定义错误处理
最简单的错误处理:trigger_errors()函数,但是该函数不会组织系统报错
php系统提供了一种用户错误处理的机制:用户自定义错误处理函数set_error_handler()