web-dev-qa-db-fra.com

Puis-je utiliser le framework de base de données Laravel sans utiliser tout Laravel?

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?.

1
TroySteven

Vous pouvez utiliser illuminate/database en le nécessitant dans votre projet composer.

composer require illuminate/database

Utilisation de base

Créer une connexion à la base de données


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();

Créer des tables de base de données


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 .

1
Yvan

Vous pouvez utiliser illuminate/database

0
Ilya Yaremchuk