<?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; } }