lamdd / design-pattern-repository-service
简单仓库,服务模式为Laravel设计
dev-master
2023-11-22 08:59 UTC
Requires
- illuminate/config: ~5.0|~6.0|~7.0|~8.0|~9.0
- illuminate/console: ~5.0|~6.0|~7.0|~8.0|~9.0
- illuminate/database: ~5.0|~6.0|~7.0|~8.0|~9.0
- illuminate/filesystem: ~5.0|~6.0|~7.0|~8.0|~9.0
- illuminate/http: ~5.0|~6.0|~7.0|~8.0|~9.0
- illuminate/pagination: ~5.0|~6.0|~7.0|~8.0|~9.0
- illuminate/support: ~5.0|~6.0|~7.0|~8.0|~9.0
This package is auto-updated.
Last update: 2024-09-12 05:24:34 UTC
README
一个用于添加php artisan make:repository
和php artisan make:service
命令到Laravel 6+的包
安装
使用以下命令使用composer安装此包
composer require lamdd/design-pattern-repository-service:"dev-master"
或将以下内容添加到您的composer.json文件中的require-dev部分,并执行composer update
"require-dev": { "lamdd/design-pattern-repository-service": "dev-master" }
在config/app.php中,将DesignPattern\LaravelMakeRepositoryService\RepositoryServiceProvider::class添加到providers数组的末尾
'providers' => [ ... DesignPattern\LaravelMakeRepositoryService\RepositoryServiceProvider::class, ],
发布配置
php artisan vendor:publish --provider "DesignPattern\LaravelMakeRepositoryService\RepositoryServiceProvider"
使用方法
php artisan make:repository your-repository-name
php artisan make:service your-service-name
示例
php artisan make:repository User
php artisan make:service User
或
php artisan make:repository Backend\User
php artisan make:service Backend\User
<?php
namespace App\Repositories;
use App\Models\User;
use DesignPattern\LaravelMakeRepositoryService\Repository\BaseRepository;
use App\Repositories\UserRepositoryInterface;
class UserRepository extends BaseRepository implements UserRepositoryInterface
{
/**
* Specify Model class name
*
* @return string
*/
public function model()
{
return User::class;
}
public function getFindUserCompany($id) {
return $this->model->join('companies as c', 'cp.id','=','users.company_id')->where('c.id',$id)->first()
}
}
<?php
namespace App\Services;
use App\Repositories\UserRepository;
use App\Services\UserServiceInterface;
class UserService implements UserServiceInterface
{
protected $userRepository;
public function __construct(UserRepository $userRepository)
{
$this->userRepository = $userRepository;
}
public function getFindUser($id) {
return $this->userRepository->where('id',$id)->first();
}
}
<?php
namespace App\Http\Controllers;
use App\Services\UserService;
use Illuminate\Http\Request;
class UserController extends Controller
{
protected $userService;
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function index (Request $request){
$user = $this->userService->getFindUser($request->id);
return $user;
}
}