有没有办法对函数的参数应用严格的类型?

时间:2014-04-28 18:26:13

标签: php oop types

我知道PHP的一些优点来自于松散的输入,但我想用一个带有严格类型,面向对象的函数来创建一个PHP类。

我尝试了我认为可行的方法:

... [index.php]

24: include './documentation-builder.php';
25: $builder = new DocBuilder('Documentation');

... [documentation-builder.php]

5:  class DocBuilder
6:  {
7:      function __construct(string $title)
8:      {
9:          $this->title = $title;
10:     }
11: }

但是我收到了以下错误:

  

捕获致命错误:传递给DocBuilder :: __ construct()的参数1必须是字符串的实例,给定字符串,在第25行的\ path \ to \ index.php中调用并在 \ path \ to \ documentation-builder.php 在线 5

事实上说“参数1 ......必须是字符串的实例,字符串给出”让我觉得我很接近,但忘了在某处设置标志。

如何在PHP函数上严格键入?

1 个答案:

答案 0 :(得分:3)

目前仅支持类和数组的类型提示。

  

类型提示不能与标量类型(如int或string)一起使用。资源和特征也是不允许的。

source