[英]Unusual type casting in PHP
我們正在嘗試創建一個 object 可以通過 eclipse PDT 或 Zend Studio 自動完成這些方法,但我們堅持一個觀點,我想問你。
問題是; Eclipse 無法達到 class 的方法,代碼如下;
class Soup {
private static $_obj;
public function __construct(){}
public static function getObj($objName){
if(isset(self::$_obj)) {
return self::$_obj;
} else {
self::$_obj = new $objName;
return self::$_obj;
}
}
}
class Foo extends Obj {
}
class Obj {
public function test() {}
}
// This is what we are trying to reach;
Soup::getObj('Foo')->test();
在 PHP 中沒有問題,但在 Eclipse PDT 或 Zend Studio 中,自動完成未完成 ->test() 部分。 是否有代表 Eclipse PDT 的解決方案,或者是否有另一種方法來創建 class?
所有(大多數)IDE 都使用文檔塊來實現更高級的自動完成功能,Zend Studio 和 Eclipse 也是如此。 一個好的 docblock 不僅可以使您的代碼有良好的文檔記錄和 phpdoc-able,還可以為您提供更好的代碼幫助!
你不能,這不是 IDE 問題。
在 php(與 java 不同)中,您不知道 function 的返回類型。 所以對於 php 來說,不可能知道Soup:getObj('Foo')
會返回什么......也許是 object,也許是一個數組,也許它不會返回任何東西
在 Netbeans 中,您可以通過在 function 中添加文檔來告訴他 function 返回 Foo function 來幫助他
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.