PHP Classes

File: config/repositories.php

Recommend this page to a friend!
  Classes of Kevinralph M Tenorio   Lumen API PureMVC MultiCore Framework for PHP   config/repositories.php   Download  
File: config/repositories.php
Role: Configuration script
Content type: text/plain
Description: Configuration
Class: Lumen API PureMVC MultiCore Framework for PHP
Implements repository pattern using Laravel Lumen
Author: By
Last change:
Date: 5 years ago
Size: 4,635 bytes
 

Contents

Class file image Download
<?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,
    ],
];