PHP code example of lamdd / design-pattern-repository-service

1. Go to this page and download the library: Download lamdd/design-pattern-repository-service 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/ */

    

lamdd / design-pattern-repository-service example snippets


'providers' => [
    ...
    DesignPattern\LaravelMakeRepositoryService\RepositoryServiceProvider::class,
],
bash
php artisan vendor:publish --provider "DesignPattern\LaravelMakeRepositoryService\RepositoryServiceProvider"

php artisan make:repository User

php artisan make:service User

php artisan make:repository Backend\User

php artisan make:service Backend\User



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()
    }
}
`


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();
    }
}

`


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;
    }
}