额外属性(.PhpStorm.meta.php)的PhpStorm元工厂建议
我一直在尝试为factory属性设置.phpstorm.meta.php文件,但无法使其完全工作 -- -- -- 现在我想从额外属性(.PhpStorm.meta.php)的PhpStorm元工厂建议,php,phpstorm,metadata,Php,Phpstorm,Metadata,我一直在尝试为factory属性设置.phpstorm.meta.php文件,但无法使其完全工作 -- -- -- 现在我想从classdbtable和classreturn $db = \modeler\Refund::fact()->dbTable(); $db->a(); // works without any special phpstorm.meta (it know that dbTable() returns DbTable class) // PR
classdbtable
和classreturn
$db = \modeler\Refund::fact()->dbTable();
$db->a(); // works without any special phpstorm.meta (it know that dbTable() returns DbTable class)
// PROBLEM:
$db->order_id = '...' // !! not works (not suggests order_id field) for phpstorm.meta like below: !!
--
--
其他信息:它适用于如下属性,但在本例中它将方法从DbTable中断开:(
这将不起作用:
\modeler\return::fact()->dbTable()
。您不能在元数据中使用动态实体,它必须是某个方法引用,如MyInterface::dbTable()
。
/**
* @property int id
* @property int order_id
*/
namespace modeler\table;
class Refund {
protected $table = 'refund';
protected $fields = ['id' => null, 'order_id' => null] // ...
// if there is normal property it also not works (but I want grab it from @property comment)
public $order_id;
}
$db = \modeler\Refund::fact()->dbTable();
$db->a(); // works without any special phpstorm.meta (it know that dbTable() returns DbTable class)
// PROBLEM:
$db->order_id = '...' // !! not works (not suggests order_id field) for phpstorm.meta like below: !!
namespace PHPSTORM_META
{
override(\modeler\Refund::fact()->dbTable(), map(['' => '\modeler\table\Refund', ]));
}
/** @var \modeler\table\Refund $db */
$db = \modeler\Refund::fact()->dbTable();