Laravel Artisan Komutu Oluşturma

Merhabalar uzun zamandır blogumu güncellemiyordum. Artık daha aktif olmaya çalışacağım.Belki sadece teknoloji değil farklı kategorilerde de yazılar yazabilirim.Şimdi müsadenizle yazıya geçmek istiyorum.

Artisan Komutları

Bu yazımda Laravel Artisan komutlarına bakacağız. Laravel bize konsolda çalıştırmak için bazı komutlar verir. Bu komutlar artisan komutlarıdır.Konsolda Laravel uygulamasını deployment modunda başlatmak için veya çerezleri temizlemek için bazı artisan komutları vardır.

php artisan serve

Bu komut ile Laravel uygulamamızı deployment modunda çalıştırabiliyoruz. Bu sayede hataları yakalamamız daha kolay oluyor.

php artisan optimize

Bu komut benim en çok kullandığım komutlardan biridir.Rota yapısı yenilenmediğinde veya önbellekte veriler kaldığında mutlaka bu komutu çalıştırırım. Bu komut bize aşağıdaki çıktıları vererek uygulamamızın ayarlarını optimize ettiğini ve çerezlerin silindiğini bildirir.

Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!

php artisan list

Tüm komutları tek tek açıklamayacağım çünkü php artisan list dediğinizde tüm artisan komutlarını görebilirsiniz. Benim bugün anlatacağım konu kendi artisan komutlarımızı nasıl oluşturacağımızdır.Laravel bize çok fazla komut sunuyor fakat ihtiyaçlar ve hızlı işlem yapmak için kendi komutlarımızı da oluşturmamız gereken durumlar olabilir.Bu yazıdaki senaryomuz şu olacak bir artisan komutu oluşturacağız ve bu komutu çalıştırdığımızda tablodaki bazı verileri silmesini isteyeceğim.

Projenin bulunduğu dizinde konsol açıp aşağıdaki komutu girelim.

php artisan make:command DeleteArticle

Bu komuttan sonra başarılı mesajı aldıysanız eğer app/Console/Commands klasörü altında komut dosyamız oluştu.Dosyamız ilk açıldığında aşağıdaki gibi olacak. Şimdi bu dosya üzerindeki yapacağımız değişiklikleri yapalım ve komutu çalıştıralım.

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class DeleteArticle extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'command:name';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        return 0;
    }
}

 

Öncelikle komutumuzu konsolda nasıl çağıracağımızı belirlememiz gerekiyor.Değiştireceğimiz ilk alan command:name alanıdır. Bu alana komutumuzun ismini girelim. Ben delete:data ismini gireceğim. Komuta ise hangi datayı sileceksek onun id değerini de göndereceğim ve o id değerine göre silme işlemi yapacağım.

protected $signature = 'command:name';
protected $signature = 'delete:data {id}';

İsterseniz komutun ne iş yaptığına dair açıklama girebilirsiniz. Bu açıklama php artisan list komutu yaptığımızda görülebilir.

protected $description = 'Command description';
protected $description = 'Delete Table Data';

Komutumuz ilk çalıştığında handle metodu çalışmaktadır. Bu fonksiyonda o komutta yaptıracağımız şeyleri yazacağız. Bu fonksiyonda komutta girdiğimiz id değerini tablodan sileceğiz.

public function handle()
    {
        $arg = $this->argument('id');

        $article = ArticleModel::where('id', '=', $arg);
        $article->delete();
    }

 

Şimdi komutumuzu aşağıdaki şekilde çalıştırıyoruz ve tablodan veriyi sildiğini görüyoruz. Komutumuz tabloada id’si 72 olan veriyi bulup silecektir.

php artisan delete:data 72

 

Yazılarımız takip etmek ve bana destek vermek için mobil uygulamamı indirebilir veya Google Haberler uygulamasından takip edebilirsiniz.

Play Store | Google Haberler

Yukarı Çık
Size nasıl yardımcı olabilirim ?