私は、長年にわたって構築してきたカスタムPHPフレームワークを使用して会社で働いています。ほとんどのカスタムフレームワークはニーズに合っており、Laravelが提供するほぼすべてのものが含まれていますが、データベースクラスは古くなっているため、更新する必要があります。データベースクラスを再構築するのではなく、事前に構築されたオプションをいくつか見てきました。
これまでのところ、Laravel内のデータベースクラスが最も魅力的なようです。ただし、Laravelフレームワーク全体を必要としない/必要としないため、非常にスリム化されたベース/フレームワークを構築し、Laravelライブラリ全体を追加することは誇りに思いますデータベース機能だけが必要です。要するに、Laravelフレームワーク内のデータベースライブラリのみを簡単に抽出してスタンドアロンで実行し、顧客のフレームワークに統合できるようにする方法です。これまでのところ、私はあまり多くのオプションを見つけていません。
これまでに見つけた最良のオプションは以下のとおりです。 https://github.com/Luracast/Laravel-Database
ただし、そのGITリポジトリは2年以上更新されていません。
Lumenも調べましたが、Laravelのスリム化されたバージョンでさえ、必要のない余分なコードのようです。
フレームワークにLaravelデータベースクラスだけを統合する方法を知っている人はいますか。
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 にアクセスして検索できます。
illuminate/database を使用できます