Je travaille dans une entreprise avec un cadre personnalisé PHP que nous avons construit au fil des ans. Pour la plupart, notre infrastructure personnalisée répond à nos besoins et inclut presque tout ce que Laravel offre. Cependant, nos classes de base de données sont obsolètes et nous devons les mettre à jour. Plutôt que de reconstruire nos classes de base de données, nous avons examiné certaines options prédéfinies.
Jusqu'à présent, les classes de base de données dans Laravel semblent être les plus attrayantes. Cependant, nous n’avons pas besoin/ne voulons pas de l’ensemble du framework Laravel, nous sommes fiers de disposer d’une base/framework très simplifiée que nous avons construite et l’ajout de l’ensemble de la bibliothèque Laravel semble excessif quand nous voulons juste la fonctionnalité de base de données. Le long récit est un moyen d'extraire facilement la bibliothèque de base de données dans le cadre Laravel pour qu'elle fonctionne de manière autonome afin que nous puissions l'intégrer dans notre cadre client. Jusqu'à présent, je n'ai pas trouvé beaucoup d'options.
La meilleure option que j'ai trouvée jusqu'à présent est la suivante: https://github.com/Luracast/Laravel-Database
Cependant, ce référentiel GIT n'a pas été mis à jour depuis plus de 2 ans.
J'ai également examiné Lumen, mais même la version allégée de Laravel semble contenir beaucoup de code supplémentaire dont nous n'avons pas besoin.
Est-ce que quelqu'un sait comment intégrer les classes de base de données Laravel dans notre framework?.
Vous pouvez utiliser illuminate/database en le nécessitant dans votre projet composer.
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');
});
Si vous avez besoin de documentation supplémentaire, vous pouvez la consulter en consultant la Laravel docs ici .
Vous pouvez utiliser illuminate/database