ablunier / laravel-database
Laravel database utilities package. Repository, cache, abstraction layer.
Installs: 4 422
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 1
Open Issues: 0
Requires
- php: >=5.5.9
- doctrine/dbal: 2.5.*
- illuminate/database: 5.4.*
- illuminate/support: 5.4.*
Requires (Dev)
- illuminate/database: 5.4.*
- mockery/mockery: 0.9.*
- orchestra/testbench: 3.4.*
- phpunit/phpunit: ~4.0
README
This package provides some utilities and patterns to work with Laravel databases
Note: This package is in active development and NOT ready for production.
Features
- Automatic default and extendable repository pattern.
- Cache system over repository pattern.
- Model abstraction layer.
Requirements
- PHP 5.5 or higher.
- Laravel 5.
Installation
Require this package with composer:
composer require ablunier/laravel-database
After updating composer, add the ServiceProvider and Facade (optional) to the app.php config file:
// config/app.php 'providers' => [ '...', Ablunier\Laravel\Database\Manager\ModelManagerServiceProvider::class, ]; 'aliases' => [ '...', 'ModelManager' => Ablunier\Laravel\Database\Manager\Facades\ModelManager::class, ];
Copy the package config to your local config with the publish command:
php artisan vendor:publish
Usage
Repository pattern
<?php namespace App\Http\Controllers; use ModelManager; use View; class ExampleController extends Controller { public function index() { $repo = ModelManager::getRepository('App\User'); $users = $repo->all(); View::make('users.index', [ 'users' => $users ]); } }
<?php namespace App\Http\Controllers; use Ablunier\Laravel\Database\Contracts\Manager\ModelManager; use View; class ExampleController extends Controller { protected $mm; public function __construct(ModelManager $mm) { $this->mm = $mm; } public function index() { $repo = $this->mm->getRepository('App\User'); $users = $repo->all(); View::make('users.index', [ 'users' => $users ]); } }
Cache
Abstraction layer
Documentation
Visit the wiki for more information.
License
This software is published under the MIT License