类 AbstractLocator
为存储库对象提供抽象注册表/工厂。
属性摘要
-
$instances protected
array<string,Cake\Datasource\RepositoryInterface>
属于注册表的实例。
-
$options protected
array<string, array>
包含传递给 get() 方法的选项列表。
方法摘要
-
clear() public
清除注册表中的配置和实例。
-
createInstance() abstract protected
创建给定类名的实例。
-
exists() public
检查注册表中是否存在实例。
-
get() public
从注册表中获取存储库实例。
-
remove() public
从注册表中删除存储库实例。
-
set() public
设置存储库实例。
方法详情
createInstance() ¶ abstract protected
createInstance(string $alias, array<string, mixed> $options): Cake\Datasource\RepositoryInterface
创建给定类名的实例。
参数
-
string
$alias 存储库别名。
-
array<string, mixed>
$options 要使用这些选项构建实例。
返回值
Cake\Datasource\RepositoryInterface
get() ¶ public
get(string $alias, array<string, mixed> $options = []): Cake\Datasource\RepositoryInterface
从注册表中获取存储库实例。
参数
-
string
$alias 您要获取的别名。
-
array<string, mixed>
$options optional 要使用这些选项构建表的选项。
返回值
Cake\Datasource\RepositoryInterface
抛出
Cake\Core\Exception\CakeException
当尝试获取已经使用不同选项创建实例的别名时。
set() ¶ public
set(string $alias, Cake\Datasource\RepositoryInterface $repository): Cake\Datasource\RepositoryInterface
设置存储库实例。
参数
-
string
$alias -
Cake\Datasource\RepositoryInterface
$repository
返回值
Cake\Datasource\RepositoryInterface