web-dev-qa-db-ja.com

Laravelをすべて使用せずにLaravel Database Frameworkを使用できますか?

私は、長年にわたって構築してきたカスタムPHPフレームワークを使用して会社で働いています。ほとんどのカスタムフレームワークはニーズに合っており、Laravelが提供するほぼすべてのものが含まれていますが、データベースクラスは古くなっているため、更新する必要があります。データベースクラスを再構築するのではなく、事前に構築されたオプションをいくつか見てきました。

これまでのところ、Laravel内のデータベースクラスが最も魅力的なようです。ただし、Laravelフレームワーク全体を必要としない/必要としないため、非常にスリム化されたベース/フレームワークを構築し、Laravelライブラリ全体を追加することは誇りに思いますデータベース機能だけが必要です。要するに、Laravelフレームワーク内のデータベースライブラリのみを簡単に抽出してスタンドアロンで実行し、顧客のフレームワークに統合できるようにする方法です。これまでのところ、私はあまり多くのオプションを見つけていません。

これまでに見つけた最良のオプションは以下のとおりです。 https://github.com/Luracast/Laravel-Database

ただし、そのGITリポジトリは2年以上更新されていません。

Lumenも調べましたが、Laravelのスリム化されたバージョンでさえ、必要のない余分なコードのようです。

フレームワークにLaravelデータベースクラスだけを統合する方法を知っている人はいますか。

1
TroySteven

composerプロジェクトで要求することで illuminate/database を使用できます。

composer require illuminate/database

基本的な使い方

データベース接続を作成する


use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'Host'      => 'mysql.domain.com',
    'database'  => 'database',
    'username'  => 'mysql_rw',
    'password'  => 'pass',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);



$capsule->setAsGlobal();

データベーステーブルを作成する


use Illuminate\Database\Capsule\Manager as Capsule;

$schema = Capsule::schema();

$schema->create('table_name', function ($table) {
    $table->increments('id');
    $table->string('name')->length(10)->default('Nick');
});

さらにドキュメントが必要な場合は、Laravel docs here にアクセスして検索できます。

1
Yvan

illuminate/database を使用できます

0
Ilya Yaremchuk