开发者社区> 问答> 正文

PHP array() $var 变量前加类型是什么还以 ?报错

public function get(array $var){

}

string $var

这个语法到底是什么概念,是限定变量或参数必须是这个类型吗?不是这个类型就报错终止执行,还是只是做标记。找文档也找不到相关解释

展开
收起
爱吃鱼的程序员 2020-06-14 17:47:57 546 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    参数限制类型好像只有‘数组’和’对象‘,string这种类型限制不存在<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/17.gif"alt="">

    http://php.net/manual/en/language.oop5.typehinting.php

    php不支持简单类型作为typehint,但是hhvm是支持int和string的


    这叫类型提示,我记得支持对象,还有一个好像,不记得了,手册上面有写的,我见过。

    类似强类型语言的函数声明一样。

    <divclass='ref'>

    引用来自“甘薯”的评论

    正如楼上所言,

    只是定义在函数参数中作为一种提示之用,没有任何实际意义,你可以定义为任何类型哪怕是xxyy这种都不会错,就像注释一样,会被解释器略过.

    已经把误导的言论删除了.

    php这种做法真的是很无语,四不像...

    要么你就完全类型检查,要么就干脆不支持,这种半成品的东西拿出来有什么意义...

    做不到完全类型检查干脆就不要搞...要么就做成支持完整的伪类型,就像注释一样提供给HHVM之类的神器分析转换代码用...

    要不是这东西开发web比java短平快,还真用起来挺别扭...

    2020-06-14 17:48:14
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载