PHP7 为什么不直接支持变量类型声明,而仅仅是在函数参数中定义?

2015-06-24 19:03:22 +08:00
 blue7wings

现在可以这么写了:

function func(int $param_1,int $param_2){
    return $param_1 + $param_2;
}

$result = func('23',23.44);//47

我觉得能够这样写就更好了:

int $param_1 = 1;
string $param_2 = "hello world";

PHP7 Reference: https://github.com/tpunt/PHP7-Reference
安装小教程: http://www.blue7wings.com/post/91

我觉得还是强类型好,各位小伙伴如何认为?(:

14590 次点击
所在节点    PHP
28 条回复
notcome
2015-06-25 15:50:23 +08:00
没必要,这些都可以 infer 出来。

此外,楼主很在意类型安全的话,可以来用用 Haskell,及其独有 TDD,我是说 Type Driven Development。除了 dependent type,Haskell 还有 refinement type checker,比如说在函数签名上可以直接标记接受所有大于零的整数,编译器就能给你检查出所有可能有问题的调用——对处理用户输入特别有帮助哦。
irgil
2015-06-25 16:34:36 +08:00
@jsq2627 7支持强类型,而且可以在php.ini设置必须使用强类型
fuxiaohei
2015-06-25 17:53:38 +08:00
int $param_1 = 1;
string $param_2 = "hello world";

如果要这样写,你直接找个强类型语言用算了
zakokun
2015-06-25 17:56:34 +08:00
形参中声明类型很早就支持了.我觉得主要是方便ide智能提示...
鸟哥不是说php7配置文件中支持开启变量强类型了么
aliang032
2015-06-25 18:10:42 +08:00
支持强类型+1
66beta
2015-06-25 18:27:38 +08:00
楼主是要弄死java?
bombless
2015-06-27 21:59:17 +08:00
这个东西……它好像叫向量标注?(逃
fantiq
2016-12-10 00:25:23 +08:00
建议支持强类型

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/200879

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX