igfs/kernel/Database.php
2024-10-23 16:16:47 +03:00

52 lines
1.3 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: kirill
* Date: 03.08.19
* Time: 23:51
*/
namespace kernel;
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Builder;
use Illuminate\Container\Container;
use Phroute\Phroute\Dispatcher;
class Database
{
/** @var Builder $capsule */
public Builder $schema;
/** @var Capsule $capsule */
public Capsule $capsule;
function __construct()
{
$this->capsule = new Capsule;
$this->capsule->addConnection([
'driver' => $_ENV['DB_DRIVER'],
'host' => $_ENV['DB_HOST'],
'database' => $_ENV['DB_NAME'],
'username' => $_ENV['DB_USER'],
'password' => $_ENV['DB_PASSWORD'],
'charset' => $_ENV['DB_CHARSET'],
'collation' => $_ENV['DB_COLLATION'],
'prefix' => $_ENV['DB_PREFIX'],
]);
// Setup the Eloquent ORM…
$this->capsule->setAsGlobal();
$this->capsule->bootEloquent();
$this->schema = $this->capsule->schema();
}
public function createBuilder(string $table_name): \Illuminate\Database\Query\Builder
{
$builder = new \Illuminate\Database\Query\Builder($this->schema->getConnection());
$builder->from($table_name);
return $builder;
}
}