PHP code example of wimski / laravel-model-repositories

1. Go to this page and download the library: Download wimski/laravel-model-repositories 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/ */

    

wimski / laravel-model-repositories example snippets




namespace App\Providers;

use Wimski\ModelRepositories\Providers\ModelRepositoryServiceProvider;

class RepositoryServiceProvider extends ModelRepositoryServiceProvider
{
    protected array $repositories = [
        // add your repository bindings here
    ];
}



return [
    'providers' => [
        /*
         * Application Service Providers...
         */
         App\Providers\RepositoryServiceProvider::class,
    ],
];

protected array $repositories = [
    MyModelRespositoryInterface::class => MyModelRespository::class,
];

class SomeService
{
    protected MyModelRespositoryInterface $repository;
    
    public function __construct(MyModelRespositoryInterface $repository)
    {
        $this->repository = $repository;    
    }
    
    public function doSomething($id): void
    {
        $myModel = $this->repository->findOrFail($id);
    }
}

'namespaces' => [
    [
        'models'       => 'App\\Models',
        'contracts'    => 'App\\Contracts\\Repositories',
        'repositories' => 'App\\Repositories',
    ],
],

'namespaces' => [
    [
        'models'       => 'App\\DomainA\\Models',
        'contracts'    => 'App\\DomainA\\Contracts\\Repositories',
        'repositories' => 'App\\DomainA\\Repositories',
    ],
    [
        'models'       => 'App\\DomainB\\Models',
        'contracts'    => 'App\\DomainB\\Contracts\\Repositories',
        'repositories' => 'App\\DomainB\\Repositories',
    ],
],

'namespaces' => [
    [
        'models' => 'App\\Models\\SpecificModels',
        ...
    ],
    [
        'models' => 'App\\Models',
        ...
    ],
],
bash
php artisan make:repository App\\Models\\MyModel
bash
php artisan vendor:publish --provider=App\Providers\RepositoryServiceProvider