class QueryBuilder {
public function get(): SalesforceObject[] {
...
}
}
class SalesforceObject {
public function query(): QueryBuilder {
return new QueryBuilder();
}
}
class SalesforceAccount extends SalesforceObject {
public string $Id;
public string $Name;
}
$accounts = SalesforceAccount::query()->get();
foreach($accounts as $account) {
$account-> ...
}
我想在我的 IDE 中自动完成 $account 的属性,而不必在 foreach 中添加文档块。
是否有某种方法可以在 SalesforceAccount 类上定义 QueryBuilder 类的 ->get() 将返回 SalesforceAccount[]?
我在 laravel 中使用 eloquent,它使用相同的架构并且我有自动完成功能,所以我想应该有一些方法可以用 phpdocs 来实现这个。
我认为在本地执行此操作的唯一方法是定义一个扩展 QueryBuilder 且仅用于 SalesforceAccount 的专用类,以便我可以设置返回值类型提示。但是,我想避免为每个对象类添加单独的查询构建器类的需要。