我们说我已经
了以下是示例代码
abstract class Datalist{
abstract public function render($arg1, $arg2);
}
class Datalist_Table{
public function render($arg1, $arg2){
/* do something here */
}
}
class Datalist_List{
public function render($arg1, $arg2){
/* do something here */
}
}
class DatalistFactory{
/**
* usual stuff
*
* @return Datalist
*/
public static function build($args){
$class_name = 'Datalist_' . $args['type'];
return new $class_name($args['m'][0], $args['m'][1]);
}
}
//in some other file
$list = DatalistFactory::build($args);
$list-> ....
我的问题
我的IDE(PHPStorm)没有提示$list->render()
。我猜是因为它已被声明为abstract
。
问题
我应该在PHP @return
的PHPDoc中放置DatalistFactory::build()
,以便IDE提示子类中定义的函数。
P.S。
答案 0 :(得分:1)
您需要在项目中打开此文件。我使用phpstorm 8.0.3在项目中创建新文件并插入您的代码。一切正常=)