我试图做一些类型提示与PHP 5.6而使用名称空间,我一直得到这样的错误:
PHP可捕获致命错误:参数1传递给NS'MyClass::__construct()必须是string, string的实例给定的,被叫的/用户/用户名/道路/MyClass.php在第9行中定义/用户/用户名/道路/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
}
}
?>
所以当我用String类型的
调用子类的构造函数时$x = new 'NS'MySubClass("hello");
出现错误。它也不适用于
public function __construct('string $mystring) {
如何在命名空间中提示基本类型?
在PHP 5.6中不能输入提示字符串。PHP 7中增加了对该特性的支持。
关于PHP函数类型提示的更多信息