Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Database/DatabaseServiceProvider.php
Строк: 136
<?php
namespace ConcreteCoreDatabase;

use 
ConcreteCoreDatabaseDriverDriverManager;
use 
ConcreteCoreFoundationServiceProvider as ServiceProvider;

class 
DatabaseServiceProvider extends ServiceProvider
{

    public function 
register()
    {
        
// Make both managers singletons
        
$this->app->singleton('ConcreteCoreDatabaseDatabaseManager');
        
$this->app->singleton('ConcreteCoreDatabaseDatabaseManagerORM');

        
// Bind both `database` and `database/orm` to their respective classes
        
$this->app->bind('database''ConcreteCoreDatabaseDatabaseManager');
        
$this->app->bind('database/orm''ConcreteCoreDatabaseDatabaseManagerORM');

        
// Bind a constructor for our DriverManager bootstrapped from config
        
$this->app->bind('ConcreteCoreDatabaseDriverDriverManager', function ($app) {
            
$manager = new DriverManager($app);
            
$manager->configExtensions($app->make('config')->get('database.drivers'));
            return 
$manager;
        });

        
// Bind a closure to support Core::make('database/structure', $em);
        
$this->app->bind('database/structure', function ($app$em) {
            if (!
is_array($em)) {
                
$em = array($em);
            }

            return 
$app->make('ConcreteCoreDatabaseDatabaseStructureManager'$em);
        });

        
// Bind default entity manager resolver
        
$this->app->bind('DoctrineORMEntityManagerInterface', function ($app) {
            return 
$app->make('ConcreteCoreDatabaseDatabaseManagerORM')->entityManager();
        });
        
$this->app->bind('DoctrineORMEntityManager''DoctrineORMEntityManagerInterface');

        
// Bind default connection resolver
        
$this->app->bind('ConcreteCoreDatabaseConnectionConnection', function ($app) {
            return 
$app->make('ConcreteCoreDatabaseDatabaseManager')->connection();
        });
        
$this->app->bind('DoctrineDBALConnection''ConcreteCoreDatabaseConnectionConnection');
    }

    
/**
     * A list of things that this service provider provides
     *
     * @return array
     */
    
public function provides()
    {
        return array(
            
'database',
            
'database/orm',
            
'database/structure',
            
'ConcreteCoreDatabaseDriverDriverManager',
            
'DoctrineORMEntityManager',
            
'DoctrineORMEntityManagerInterface',
            
'ConcreteCoreDatabaseConnectionConnection',
            
'DoctrineDBALConnection'
        
);
    }

}
Онлайн: 3
Реклама