<?php 
 
return [ 
    /* 
    |-------------------------------------------------------------------------- 
    | Custom Model Namespace 
    |-------------------------------------------------------------------------- 
    | If Models are moved to other namespace, other than App\Models. Please set 
    | it here so the Repository can map it correctly. 
    | 
    */ 
    'model_namespace' => 'App\Models', 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Repository interfaces namespace 
    |-------------------------------------------------------------------------- 
    | 
    | You can specify the namespace used in your repositories interfaces. 
    | Once again, I like to put everything under the namespace of my app, 
    | so my repository interfaces usually live under the namespace of my 
    | application: "MyApp\Repositories". 
    | 
    */ 
    'repository_interfaces_namespace' => 'App\Repositories', 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Criterias namespace 
    |-------------------------------------------------------------------------- 
    | 
    | Please specify the namespace for the criteria. The implementation will 
    | be appended. 
    | 
    */ 
    'criterias_namespace' => 'App\Repositories\Criteria', 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Base repositories path 
    |-------------------------------------------------------------------------- 
    | 
    | By default the package considers that your interfaces live in 
    | App/Repositories. You can however set this path to whatever value 
    | you want. I personally like to locate all my project files inside a 
    | folder located in "app", something like "app/MyApp/Repositories". 
    | 
    */ 
    'repositories_path' => app_path('app/Repositories'), 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Base criteria path 
    |-------------------------------------------------------------------------- 
    | 
    | Your criteria needs to live somewhere, so please specify here the base 
    | path of your criteria. Skip the implementation. 
    | 
    */ 
    'criterias_path' => app_path('app/Repositories/Criteria'), 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Implementation bindings 
    |-------------------------------------------------------------------------- 
    | 
    | As we can have same interface but different implementations that support 
    | our repositories, we can define the implementation that we want to use for 
    | each of the repositories that we have in our application. By default, 
    | Eloquent is used. Sometimes you might find cases where you have to 
    | support several data-stores (like MariaDB, MongoDB and PostgreSQL) at the 
    | same time. Although this package supports only Eloquent now, the plan is 
    | to add more engines/ORMs/data-stores, so I want to keep this flexible. 
    | 
    | In this configuration setting you can specific which repository should 
    | resolve to each engine. You can't have the same repository bind to more 
    | than one engine, but you can have different repositories bind to different 
    | engines. 
    | 
    | All the repository interfaces not bind will be bind to the default 
    | engine. 
    | 
    | Values supported: 'default', array of repository interface names. 
    | 
    */ 
    'bindings' => [ 
        'eloquent' => 'default', 
        // 'eloquent' => [ 
        //     'UserRepositoryInterface', 
        //     'PostRepositoryInterface' 
        // ] 
    ], 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Skip repositories 
    |-------------------------------------------------------------------------- 
    | 
    | Sometimes you may wish to skip the auto-binding of some repositories. 
    | You can specify here what of those INTERFACES should be skipped from the 
    | auto-binder. You must specify the name of the file, as the skip happens 
    | when scanning the repositories. 
    | 
    */ 
    'skip' => [ 
        'BaseRepositoryInterface', 
    ], 
 
    /* 
    |-------------------------------------------------------------------------- 
    | Supported implementations 
    |-------------------------------------------------------------------------- 
    | 
    | Array with the supported implementations. This allow you to extend the 
    | package to your needs. 
    | 
    */ 
    'supported_implementations' => [ 
        'eloquent' => App\Support\Repository\EloquentRepository::class, 
    ], 
]; 
 
 |