yearnwilling/repository-services
the Repository-Service for laravel 5.5+
18
2
| Install | |
|---|---|
composer require yearnwilling/repository-services |
|
| Latest Version: | v0.1.2 |
| PHP: | >=5.6.0 |
| License: | MIT |
| Last Updated: | May 26, 2017 |
| Links: | GitHub · Packagist |
Maintainer: yearnwilling
Repository-Services
这个packagist主要是为laravel服务的。 使用方法可以参照我自己写的开源demo
https://github.com/yearnwilling/community
###使用方法:
#####Repository
//对应需要访问的model
protected $modelName = 'App\\Models\\User';
public function model()
{
return $this->modelName;
}
#####Service
/**
* @param $RepositoryName string Repository名称
* @param $Repository class Repository类对象
*/
public function getRepository($RepositoryName, $Repository) {
$this->registerRepository($RepositoryName, $Repository);
return $this->repositories[$RepositoryName];
}
/**
* @param $RepositoryName string Repository名称
* @param $Repository class Repository类对象
*/
public function getService($serviceName, $service) {
$this->registerService($serviceName, $service);
return $this->services[$serviceName];
}
#####Controller.php
use Repository_services\Rsc\Service\Service;
...
protected $baseServices;
protected $resourcesNames = array(
'UserService' => 'App\Services\User\UserServices',
);
public function __construct(Service $baseServices)
{
$this->baseServices = $baseServices;
}
public function getService($serviceName) {
$this->bootService($serviceName);
return $this->baseServices->services[$serviceName];
}
protected function bootService($serviceName) {
if (empty($this->resourcesNames[$serviceName])) {
throw new \Exception("the $serviceName is not register in resourcesNames");
}
$this->baseServices->registerService($serviceName, $this->resourcesNames[$serviceName]);
}