如何在实例化对象之前将PHP变量定义为特定的类类型?

2022-08-30 22:37:34

我正在创建我自己的框架,我希望它非常基本,但是当我使用一些类似的东西时,或者它们倾向于给我警告,告诉我那些变量没有初始化,或者它们不能识别它们是什么类型,所以它们不是类方法或属性变量应该是什么。MVCIDEEclipseNetBeansautocomplete

为了覆盖它,我创建了一个PHP文件,其中设置了全局环境变量,并实例化了一个新对象,然后销毁了该文件,因此IDE可以识别它,我可以很好地使用它。

但是,这些类构造函数在那时执行,这可能是危险的,甚至会减慢我的代码速度。那么,为了更好地重写它,我如何将变量类型定义为特定类,而无需实例化它?

就像我们以前做的那样Delphivar Test = TTest;JavaString testString;testString = new String;


答案 1

根据 IDE 的不同,您可以使用 PHPDoc 注释来获取代码完成

 /** @var YourClass */
 private $variable;

这是特定于 IDE 的

编辑和 6 年后(几乎到今天),随着 php 7.4 的出现,您现在可以声明类属性的类型:

Class SomeClass
{

    private YourClass $variable;

    public string $something_else;

}

答案 2

PHP是松散类型的,所以你不能像在Java中那样做。不过,您可以为自定义类提供类型提示。请参阅此描述 PHP.net: http://php.net/manual/en/language.oop5.typehinting.php


推荐