我在使用命名空间时尝试使用PHP 5.6进行某种类型的提示,并且我不断收到这样的错误:
PHP Catchable致命错误:参数1传递给 NS \ MyClass :: __ construct()必须是string,string的实例 给予,召唤 /Users/username/path/MyClass.php 在第9行并在中定义 /Users/username/path/MySubClass.php 在第52行
代码基本上如下所示:
<?php namespace NS;
class MySubClass extends MyClass {
public function __construct(string $mystring) {
parent::__construct($mystring);
}
}
?>
和
<?php namespace NS;
class MyClass {
public function __construct() {
// do stuff
}
}
?>
所以当我用类似
的字符串调用子类的构造函数时$x = new \NS\MySubClass("hello");
出现错误。 它也不适用于
public function __construct(\string $mystring) {
如何在命名空间中键入基本类型?
答案 0 :(得分:3)
在PHP 5.6中无法输入提示字符串。 PHP 7中添加了对此功能的支持。