Laravel Artisan Komutları ile Veritabanı Yönetimi Kılavuzu ⚙️
💡 Bu Rehberde Ne Öğreneceksiniz
Bu rehberde, Laravel’in yerleşik komut satırı aracı Artisan kullanılarak veritabanı kayıtlarının nasıl yönetileceğini öğreneceksiniz. CLI (komut satırı) üzerinden ekleme, listeleme ve silme işlemleri yaparak, uygulamanızın yönetimini web arayüzü olmadan güvenli ve hızlı bir şekilde gerçekleştireceksiniz.
🧠 Teknik Özet
- link:new → Yeni kayıt ekleme
- link:list → Kayıtları tablo formatında listeleme
- link:delete → Kayıt silme (ID ile)
Tüm işlemler Eloquent ORM kullanılarak yapılacak.
🔧 Adım 1: Yeni Kayıt Ekleme Komutu (link:new)
🛠 Komutu Üretme
php artisan make:command LinkNew
Bu komut
app/Console/CommandsdizinindeLinkNew.phpdosyasını oluşturur.
✏️ Komut Dosyasını Düzenleme
nano app/Console/Commands/LinkNew.php
💬 Girdi Alma ve Doğrulama
$url = $this->ask('Bağlantı URL\'si:');
if (!filter_var($url, FILTER_VALIDATE_URL)) {
$this->error("Geçersiz URL. İşlem iptal edildi.");
return 1;
}
$description = $this->ask('Bağlantı açıklaması:');
$this->ask()kullanıcıdan girdi alır,filter_varile doğrulama yapılır.
💾 Veritabanına Kaydetme
if ($this->confirm('Bu bilgiler doğru mu?')) {
$link = new Link();
$link->url = $url;
$link->description = $description;
$link->save();
$this->info("Bağlantı başarıyla kaydedildi.");
}
return 0;
▶️ Komutu Çalıştırma
php artisan link:new
Komut sizden bağlantı bilgilerini isteyip veritabanına kaydeder.
📋 Adım 2: Kayıt Listeleme Komutu (link:list)
🛠 Komutu Üretme
php artisan make:command LinkList
✏️ Komut Dosyasını Düzenleme
public function handle()
{
$headers = ['ID', 'URL', 'Açıklama'];
$links = Link::all(['id', 'url', 'description'])->toArray();
$this->table($headers, $links);
return 0;
}
$this->table()CLI çıktısını tablo biçiminde gösterir.
▶️ Komutu Çalıştırma
php artisan link:list
Kayıtları tablo biçiminde listeler.
❌ Adım 3: Kayıt Silme Komutu (link:delete)
🛠 Komutu Üretme
php artisan make:command LinkDelete
✏️ Zorunlu Argüman Tanımlama
protected $signature = 'link:delete {link_id}';
{link_id}parametresi, silinecek kaydın ID’sini belirtir.
💣 Silme İşlemini Uygulama
public function handle()
{
$link_id = $this->argument('link_id');
$link = Link::find($link_id);
if ($link === null) {
$this->error("Geçersiz veya mevcut olmayan bağlantı ID'si.");
return 1;
}
if ($this->confirm("{$link->url} bağlantısını silmek istediğinize emin misiniz?")) {
$link->delete();
$this->info("Bağlantı silindi.");
}
return 0;
}
▶️ Komutu Çalıştırma
php artisan link:delete 3
ID’si 3 olan kaydı siler.
❓ Sıkça Sorulan Sorular (SSS)
1. Artisan komutları neden tercih edilir?
CLI tabanlı işlemler daha güvenlidir, çünkü yalnızca sunucuya erişimi olan kullanıcılar çalıştırabilir.
2. Argüman ({link_id}) ile Seçenek (--option) farkı nedir?
Argümanlar zorunlu değerlerdir, seçenekler ise isteğe bağlıdır ve komutun davranışını değiştirir.
3. Komutum php artisan list içinde görünmüyor, neden?
Eğer komut App\Console\Kernel.php dosyasındaki $commands dizisine eklenmediyse, listede görünmeyebilir.
4. Artisan komutları web formlarına göre neden daha güvenli?
Çünkü SSH erişimi gerektirir; dış tarayıcı erişimine açık değildir.
5. Docker ortamında da kullanılabilir mi?
Evet.
docker-compose exec app php artisan link:list
🏁 Sonuç
Artisan komutları, Laravel uygulamanızın yönetimini terminal üzerinden kolay ve güvenli hale getirir. Bu yöntemle veritabanı kayıtlarını web arayüzü olmadan profesyonel biçimde yönetebilirsiniz.
Rabisu Bulut platformunda Laravel uygulamanızı hemen test ederek Artisan komutlarını deneyin! 🚀