antoiner / laravel-repositories-command
此包最新版本(dev-master)无可用许可证信息。
Laravel生成每个模型仓库的命令
dev-master
2021-03-01 16:49 UTC
This package is auto-updated.
Last update: 2024-09-29 05:56:22 UTC
README
Artisan命令,用于为每个模型创建带有RepositoryInterface的Repository,并在应用程序中使用依赖注入来使用它。
安装
使用composer安装包
composer require antoiner/laravel-repositories-command --dev
命令
安装完成后,运行以下命令为应用程序的每个模型创建RepositoryInterface和Repository
php artisan make:repositories
此命令还会创建RepositoryServiceProvider,以绑定所有RepositoryInterface与其对应的Repository。
执行命令后,只需在config/app.php
中添加此行以注册服务提供者
App\Providers\RepositoryServiceProvider::class,
用法
现在您可以在应用程序中使用Repository,例如这样
//routes/web.php <?php use Illuminate\Support\Facades\Route; Route::get('/', "HomeController@index");
//app/Http/Controllers/HomeController.php <?php namespace App\Http\Controllers; use App\Repositories\UserRepositoryInterface; class HomeController extends Controller { private $userRepository; public function __construct(UserRepositoryInterface $userRepository) { $this->userRepository = $userRepository; } public function index() { dd($this->userRepository->all()); } }
注解
您可以通过在类文档中添加注解 @Repository(enable = false)
来 禁用 模型的仓库生成。
//Blog.php <?php namespace App; use Illuminate\Database\Eloquent\Model; /** * @Repository(enable = false) */ class Blog extends Model { // }