IMO es ist absolut gültig, Schritt für Schritt zu einem OOP-Ansatz überzugehen.
Um Ihre Frage:
Ja, können Sie Eloquent Standalone nutzen. Hier
ist die packagist Website: https://packagist.org/packages/illuminate/database hinzufügen "illuminate/database": "5.0.*@dev"
zu Ihrem composer.json
und composer update
läuft. Jetzt müssen Sie Eloquent starten. (https://github.com/illuminate/database)
Das Folgende ist aus der Readme-Repo kopiert:
Nutzungsanleitung
Erstellen Sie zunächst eine neue "Capsule" Manager-Instanz. Capsule zielt darauf ab, die Konfiguration der Bibliothek für die Verwendung außerhalb des Laravel-Frameworks so einfach wie möglich zu gestalten.
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();
Sobald die Capsule-Instanz registriert wurde. Sie können es wie so verwenden:
über die Query Builder
$users = Capsule::table('users')->where('votes', '>', 100)->get();
Weitere Kern Methoden direkt aus der Kapsel in der gleichen Art und Weise sein, wie aus der DB Fassade zugegriffen:
$results = Capsule::select('select * from users where id = ?', array(1));
Verwendung das Schema Builder
Capsule::schema()->create('users', function($table)
{
$table->increments('id');
$table->string('email')->unique();
$table->timestamps();
});
Mit der eloquenten ORM
class User extends Illuminate\Database\Eloquent\Model {}
$users = User::where('votes', '>', 1)->get();
Weitere Informationen zur Verwendung der verschiedenen Datenbankfunktionen, die diese Bibliothek bietet, finden Sie in der Laravel-Framework-Dokumentation.
danke für die detaillierte Antwort .. Ich wollte wissen, ob wir einen Alias zu Capsule :: schema() auf Schema gesetzt, so dass es auf die gleiche Weise wie in Laravel verwendet werden kann, dh Schema :: Model-> Aktion() oder Schema :: table() -> action()? – rolfk
Sie könnten eine 'Schema'-Klasse erstellen und alle statischen Methodenaufrufe an' Capsule :: schema() -> $ method' mit '__callStatic' umleiten. –