|
引用来自“回去干活”的评论
我感觉后面的版本增加的语法特性都是强类型模式的语法,用不了多久,就成了java了.. 大家看看7.1的新增特性就知道.
引用来自“卖小女孩的小火柴”的评论
本来PHP从实现面向对象的时候,就开始像JAVA了,现在到7的时候更加像了。 只是PHP还是有自己特有的东西。
毕竟,语言都是相通的,所以,无所谓啦。
引用来自“eechen”的评论
像么?难道OOP是Java首创?C++不比Java早? Java可是完全面向对象,什么都必须搞个类,而PHP可以完全可以不用OOP来写程序的哟.
强类型strict_types是从PHP7开始才引入的东西,默认不开启,以后也不会默认开启,是一个很有争议性且完全不兼容PHP5的特性.这个强类型跟性能没有任何关系,其中PHP之父Rasmus,Zend公司创始人Andi,PHP7性能方面的核心开发者Dmitry和鸟哥Laruence都投了反对票.
https://wiki.php.net/rfc/scalar_type_hints_v5
经过相当激烈的讨论后,PHP7决定引入强类型(strict types)支持.
strict_types=1无非就是约束了参数和返回值的类型,
类型对不上则返回一个Fatal error: Uncaught TypeError
而且是运行时才能感知,php -l file.php语法检查并不会提示类型错误.
<?php
declare(strict_types=1);
function foo(int $num):int {
return $num/2;
}
foo(1); //返回值类型错误
foo(1.5); //参数类型错误
foo(2); //正常
弱类型乃PHP编程优势所在,PHP默认就有一套is_xxx判断类型的函数,
根本不需要用户函数再多此一举限制返回值类型(strict_types=1):
http://php.net/manual/zh/ref.var.php |
|
|