Evvela composer paket yöneticisiyle projemizi oluşturalım.
PHP 7 altındaki sürümler için kullanmanız gereken sürüm 5.4 olanı. 5.5 ve üstü olanlar PHP 7 gerektiriyor. Eğer PHP 7 ile çalışacaksanız sürüm belirtmeden gerekliliği indirebilirsiniz.
$ composer require illuminate/database:5.4
Öncelikle bir ‘kapsül’ oluşturacağız. Laravel yaratıcıları Eloquent’in ‘kapsül’ ile çatı dışında kullanılabilmesini amaçlamışlar.
index.php
require __DIR__ . '/vendor/autoload.php';
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' => '',
]);
/*
SQLite bağlantısı için
$capsule->addConnection([
'driver' => 'sqlite',
'database' => '/hedef/dizin/database.sqlite',
'prefix' => ''
]);
Dipnot: addConnection'ın ikinci parametresi bağlantı adını alır.
*/
// Kapsülü statik metodlarla global olarak erişilebilir hale getirir
$capsule->setAsGlobal();
// Eloquent ORM'i başlat
$capsule->bootEloquent();
Kurulumu tamamladık. Şimdi ilk örneğimizi sorgu oluşturucu ile yapalım:
$kullanicilar = Capsule::table('kullanicilar')->where('oylama', '>', 100)->get();
Doğrudan sorgu çalıştırmak istediğimizde select
metodunu kullanıyoruz:
$sonuclar = Capsule::select('select * from kullanicilar where id = ?', [$id]);
Şema oluşturucusunu da kullanabiliyoruz. (Migrasyon/taşıma (Migration) için kullanılır)
Capsule::schema()->create('kullanicilar', function ($table) {
$table->increments('id');
$table->string('epota')->unique();
$table->string('sifre');
$table->unsignedTinyInteger('yas')->nullable();
$table->boolean('aktif')->default(true);
$table->timestamps();
});
Son olarak model sınıfımız ile kullanabiliriz. Kendimize has yazdığımız bir MVC iskeletinde kullanmak için oldukça kullanışlı oluyor.
class Kullanici extends \Illuminate\Database\Eloquent\Model {}
$kullanicilar = Kullanici::where('oylama', '>', 1)->get();
Kolay gelsin.
Kaynakça