概述
PHP7的性能提升主要是zval结构的改进,HashTable的改进等等优化累积起来的效果。严格模式带来的更多是编码风格上的规范,强制编码者按照规范进行传参,返回值等操作(以前的PHP版本在这方面不报错,那么势必需要花费开销来进行一系列的处理),新版本的PHP在开启强校验之后在遇到不规范的情况下则直接报错,不再往下执行。
PHP7引入了两个合适类型:标量类型和返回值类型。我在这不会解释它们的不同以及如何去使用它们。PHP意见征求稿会比我做得更好:
*https://wiki.php.net/rfc/scalar_type_hints_v5
*https://wiki.php.net/rfc/return
示例:
function mySuperFunction():
int{
return "hello world";
}
mySuperFunction();
这段代码没问题。类型声明指出这个方法应该返回int类型。然而,它返回字符串类型。
毋庸置疑,PHP会抛出了一个错误:
Fatal error: Uncaught TypeError: Return value of mySuperFunction()
must be of the type integer, string returned.
致命错误:未捕捉的类型错误:mySuper函数返回类型必须是int类型,返回了字符串。
PHP习惯弱类型。加入强类型后,打开bug之门,让开发者更轻松,不过php7还是有些问题,php8中已经修复了
最后
以上就是酷酷母鸡为你收集整理的PHP7-php8 严格类型的全部内容,希望文章能够帮你解决PHP7-php8 严格类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复