学习博客:https://www.jianshu.com/p/ab5749914f7c
static可以声明类的属性和方法为静态,和常规属性、方法有什么区别呢?
类的静态属性不能通过实例访问,静态方法可以通过实例访问但是执行会有不同的地方。
静态变量
- PHP中静态变量的作用域是全局作用域,所以即使静态变量所在函数执行完毕后依然存在;
- PHP中静态变量可以作为递归函数的终止条件,正是因为以上这一点。
- PHP中静态变量初始化必须是一个常量,而非变量或者函数的返回值之类的。
- 多个对象实例共享同一个变量
静态方法
php5.3之后出现了延迟静态绑定,可以让重构的时候方法指向被调用的类,而不是父类。