簡體   English   中英

如何在實例化對象之前將 PHP 變量定義為特定的類類型?

[英]How to define a PHP variable as a specific class type before instantiate an object?

我正在創建我自己的MVC框架,我希望它非常基礎,但是當我使用一些IDE ,比如EclipseNetBeans他們往往會給我警告,告訴我那些變量沒有初始化或者他們不認識他們的類型是,所以它們不會autocomplete變量應該屬於的類方法或屬性。

為了覆蓋它,我創建了一個 PHP 文件,其中設置了全局環境變量,並實例化了一個新對象,然后銷毀了它,以便 IDE 識別它並且我可以很好地使用它。

但是這些類的構造函數會在那個時候執行,這可能很危險,甚至會減慢我的代碼速度。 所以,為了更好地覆蓋它,我如何定義一個變量類型為特定類,而不實例化它?

就像在Delphi一樣,我們執行var Test = TTest; Java我們執行String testString; testString = new String;之前testString = new String;

根據 IDE,您可以使用 PHPDoc 注釋來完成代碼

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

雖然這是特定於 IDE 的

編輯和 6 年后(幾乎到今天),隨着 php 7.4 的出現,您現在可以為類屬性聲明類型:

Class SomeClass
{

    private YourClass $variable;

    public string $something_else;

}

PHP 是松散類型的,所以你不能像在 Java 中那樣做。 不過,您可以為自定義類提供類型提示。 請參閱 PHP.net 上的此說明: http : //php.net/manual/en/language.oop5.typehinting.php

我現在知道 Facebook 開發人員創建了一個名為Hack的 PHP 變體,這是一個具有強類型的 PHP。

類型聲明可以添加到函數參數、返回值以及從 PHP 7.4.0 開始的類屬性。

當然不是所有的 php 版本!

查看更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM