废弃一PHP4风格的构造函数

  • 在 PHP4 中类中的函数可以与类名同名,这一特性在 PHP7 中被废弃。
  • 错误产生的条件:
    • 当方法名与类名相同
    • 且类不在命名空间中
    • 构造函数(__construct)不存在时
  1. <?php
  2. namespace March_27;
  3. class Person
  4. {
  5. private $name;
  6. private $age;
  7. function person($name, $age)
  8. {
  9. $this->name = $name;
  10. $this->age = $age;
  11. }
  12. }
  13. var_dump(new Person('向上', 24));
  14. /*
  15. object(March_27\Person)[1]
  16. private 'name' => null
  17. private 'age' => null
  18. */
  19. /*
  20. 上面的代码使用了命名空间,避免方法名称和类名称相同时抛出错误,抛出一个E_DEPRECATED 错误。
  21. 但是即如此,但是这个方法还是充当不了构造函数的作用,所以说:我们完全没有必要在类中去写和类名
  22. 称相同的方法。
  23. */

废弃一静态方式调用非静态方法

  • 结果如下:
    • 类对象调用静态方法:可以不报错
    • 静态方式调用非静态的方法:显示的是不赞成,但是方法还是会调用执行的。
  • 我们可以看出,PHP对于一静态方式调用非静态方法,还是很宽松的。虽然不赞成,但是还是会运行
  1. <?php
  2. class Test
  3. {
  4. public static function fun1()
  5. {
  6. print('fun1()');
  7. }
  8. public function fun2()
  9. {
  10. print('fun2()');
  11. }
  12. }
  13. // 静态方式调用非静态的方法
  14. Test::fun2();
  15. // 对象调用静态方法
  16. (new Test())->fun1();
  17. /*
  18. Deprecated: Non-static method Test::fun2() should not be called statically
  19. in D:\wamp64\www\numb\2020-3-27\demo-03.php on line 16
  20. fun2()fun1()
  21. */

password_hash() 随机因子选项

  • 函数原 salt 量不再需要由开发者提供了。函数内部默认带有 salt 能力,无需开发者提供 salt 值。

capture_session_meta SSL 上下文选项

  • 废弃了 “capture_session_meta” SSL 上下文选项。 在流资源上活动的加密相关的元数据可以通过 stream_get_meta_data() 的返回值访问。