mo3golom / laravel-service-skeleton
Make a Service skeleton
dev-master / 0.8.1.x-dev
2020-04-02 07:19 UTC
Requires
- php: ^7.1
This package is auto-updated.
Last update: 2024-10-29 06:05:42 UTC
README
Laravel Repositories - это пакет для Laravel 5, который используется для абстрагирования слоя базы данных.
Установка
Выполнить команду в консоли:
composer require mo3golom/laravel-service-skeleton
Использование
Выполнить в консоли
php artisan services:skeleton SERVICE_NAME
Будет создан сервис в папке app/Services со следующей структурой
SERVICE_NAME
├── Database
| ├── Migrations
| ├── Models
| ├── Repository
| └── Seeds
├── Http
| ├── Controller
| ├── Middleware
| └── Requests
├── Routes
| └── api.php
└── SERVICE_NAMEServicesProvider.php
Чтобы изменить папку с Services на другую, выполните:
php artisan vendor:publish
и претащите конфигурацию в /config
Вид сервис провайдера
<?php namespace App\Services\_SERVICE_; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; class _SERVICE_ServicesProvider extends ServiceProvider { protected $namespace = 'App\Services\_SERVICE_\Http\Controller'; public function boot() { if ($this->app->runningInConsole()) { $this->loadMigrationsFrom(__DIR__ . '/Database/Migrations'); } parent::boot(); } public function map() { $this->mapRoutes(); } protected function mapRoutes() { \Route::middleware('api') ->prefix('api') ->namespace($this->namespace) ->group(base_path('_ROOT_/_SERVICE_/Routes/api.php')); } }
Вид файла роута api.php
<?php Route::middleware('auth:api')->prefix('v1')->group(function () { });