PHP code example of techrays-labs / laravel-service-repository-generator

1. Go to this page and download the library: Download techrays-labs/laravel-service-repository-generator library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

techrays-labs / laravel-service-repository-generator example snippets



php artisan vendor:publish --tag=service-repository-config



php artisan vendor:publish --tag=service-repository-stubs




return [
    'service_namespace' => 'App\Services',
    'repository_namespace' => 'App\Repositories',
];

php artisan make:service-repository User

app/
├── Services/
│   ├── UserService.php
├── Repositories/
│   ├── UserRepository.php

php artisan make:service-repository User --serviceNamespace="Domain\Services"

Domain/
├── Services/
│   ├── UserService.php

php artisan make:service-repository User --repositoryNamespace="Domain\Repositories"

Domain/
├── Repositories/
│   ├── UserRepository.php

app/
├── Repositories/
│   ├── UserRepository.php
│   ├── UserRepositoryInterface.php

php artisan make:service-repository User --serviceNamespace="Domain\Services" --repositoryNamespace="Domain\Repositories" --interface

Domain/
├── Services/
│   ├── UserService.php
├── Repositories/
│   ├── UserRepository.php
│   ├── UserRepositoryInterface.php



namespace {{ namespace }};

class {{ className }}
{
    protected $repository;

    public function __construct({{ className }}Repository $repository)
    {
        $this->repository = $repository;
    }
}




use App\Services\UserService;

class UserController extends Controller
{
    protected $userService;

    public function __construct(UserService $userService)
    {
        $this->userService = $userService;
    }
}



namespace App\Services;

use App\Repositories\UserRepository;

class UserService
{
    protected $userRepository;

    public function __construct(UserRepository $userRepository)
    {
        $this->userRepository = $userRepository;
    }

    public function getAllUsers()
    {
        return $this->userRepository->all();
    }
}