-
Notifications
You must be signed in to change notification settings - Fork 0
/
DatabaseServiceProvider.php
67 lines (59 loc) · 1.82 KB
/
DatabaseServiceProvider.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/**
* Lenevor Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file license.md.
* It is also available through the world-wide-web at this URL:
* https://lenevor.com/license
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@Lenevor.com so we can send you a copy immediately.
*
* @package Lenevor
* @subpackage Base
* @link https://lenevor.com
* @copyright Copyright (c) 2019 - 2024 Alexander Campo <jalexcam@gmail.com>
* @license https://opensource.org/licenses/BSD-3-Clause New BSD license or see https://lenevor.com/license or see /license.md
*/
namespace Syscodes\Components\Database;
use Syscodes\Components\Database\Erostrine\Model;
use Syscodes\Components\Support\ServiceProvider;
/**
* For loading the classes from the container of services.
*/
class DatabaseServiceProvider extends ServiceProvider
{
/**
* Bootstrap the Application events.
*
* @return void
*/
public function boot()
{
Model::setConnectionResolver($this->app['db']);
Model::setEventDispatcher($this->app['events']);
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->registerConfigurationServices();
}
/**
* Register the primary database bindings.
*
* @return void
*/
protected function registerConfigurationServices()
{
$this->app->singleton('db.factory', fn ($app) => new ConnectionFactory($app));
$this->app->singleton('db', fn ($app) => new DatabaseManager($app, $app['db.factory']));
$this->app->bind('db.connection', fn ($app) => $app['db']->connection());
}
}