IMO, il est absolument valable de passer progressivement à une approche OOP.
À votre question :
Oui, vous pouvez utiliser Eloquent en mode autonome.
Voici le site du packagiste :https://packagist.org/packages/illuminate/database
Ajouter "illuminate/database": "5.0.*@dev"
à votre composer.json
et lancez la composer update
.Maintenant, vous devrez démarrer Eloquent. (https://github.com/illuminate/database
)
Ce qui suit est copié à partir du fichier readme du référentiel :
Mode d'emploi
Tout d'abord, créez une nouvelle instance de gestionnaire "Capsule". Capsule vise à rendre la configuration de la bibliothèque pour une utilisation en dehors du framework Laravel aussi simple que possible.
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]);
// Set the event dispatcher used by Eloquent models... (optional)
use Illuminate\Events\Dispatcher;
use Illuminate\Container\Container;
$capsule->setEventDispatcher(new Dispatcher(new Container));
// Set the cache manager instance used by connections... (optional)
$capsule->setCacheManager(...);
// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();
// Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
$capsule->bootEloquent();
Une fois l'instance Capsule enregistrée. Vous pouvez l'utiliser comme ceci :
Utilisation du générateur de requêtes
$users = Capsule::table('users')->where('votes', '>', 100)->get();
D'autres méthodes principales sont accessibles directement depuis la Capsule de la même manière que depuis la façade DB :
$results = Capsule::select('select * from users where id = ?', array(1));
Utilisation du générateur de schéma
Capsule::schema()->create('users', function($table)
{
$table->increments('id');
$table->string('email')->unique();
$table->timestamps();
});
Utilisation de l'ORM éloquent
class User extends Illuminate\Database\Eloquent\Model {}
$users = User::where('votes', '>', 1)->get();
Pour plus de documentation sur l'utilisation des différentes fonctionnalités de base de données fournies par cette bibliothèque, consultez la documentation du framework Laravel.