1、在php中函数中使用外部的变量必须使用use关键字,否则报错。这个不同于js语言,js中函数中可以一层一层向外寻找。
2、后期静态绑定(Late Static Bindings),方法中这样的用法就叫后期静态绑定:static::who();
3、HHVM (HipHop Virtual Machine)(PHP 虚拟机)会将PHP代码转换成高级别的字节码(通常称为中间语言)。
然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码。是由facebook开发的。
4、Zend Guard 是 Zend 官方出品的一款 PHP 源码加密产品解决方案,能有效地防止程序未经许可的使用和逆向工程。
Zend Guard Loader 则是针对使用 Zend Guard 加密后的 PHP 代码的运行环境。如果环境中没有安装 Zend Guard Loader,则无法运行经 Zend Guard 加密后的 PHP 代码。
目前最新版 Zend Guard 7.0 已经开始支持 PHP5.5 和 PHP5.6 了,相对应的 Zend Guard Loader 也升级了。
5、php中null和''是不同的,null的类型是NULL型,''是string型,双等号下两者相同,使用三等号两者是不等的,一个变量定义为null时使用isset判断是否设置,返回的结果时false,变量定义为''时,使用isset判断返回的结果时true。相同的地方是两个在内存中都不占内存长度为0。在php中字符串'1'和数值1在双等号下是相等的。
6、在php中没有undefined这个值,未定义的变量只能使用isset()和empty()调用,其他调用方法会报错。js中有undefined这个值,未定义的变量的类型是"undefined"。
7、在php中"\n"是一个字符,"\a"是两个字符等同于"\\a",在js中"\n"是一个字符,"\a"是还是一个字符,"\\a"才能表示两个字符。
8、若是定义的函数也使用了命名空间,那么调用函数的时候也必须使用命名空间前缀,若是定义时没有使用命名空间,而在别的命名空间里面调用,可以不加'\'符号,这和类的使用不同。
9、is_callable关于第二个参数的作用,若第二个参数为true,仅检查是否有可能是函数或方法,若为false,还必须保证可调用。
10、ini_set("display_errors","On"); error_reporting(E_ALL);
11、C:\WINDOWS\system32\drivers\etc
12、类型约束:当使用类型约束时,参数若没有设默认值为null,在传参时一定要传递该约束类型的参数,若是传递了null,会报错;若是设置了默认值为null,表示可以传递null。
13、php的类名,方法名不区分大小写;变量名,属性名大小写敏感。并且类名、函数名、变量像在不同的区域,他们彼此直接有重名也互不影响。c语言大小写敏感,并且变量名和函数名之间也不能重名。