Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Artisan mevcut komutları bir dosyada mı tutuyor yoksa komutu girdiğimiz de arkada bir dosyada işliyor mu?
make:controller yazdıktan sonra bu komutu stub ile tetikleyen bir sınıf mı var ? Yoksa arka planda işleyip oluşturuyor ?

    atakansn Her komut bir sınıf. Eğer komut dosya oluşturuyorsa stub dosyaları da var:

    make:controller
    https://github.com/laravel/framework/blob/9.x/src/Illuminate/Routing/Console/ControllerMakeCommand.php
    https://github.com/laravel/framework/blob/9.x/src/Illuminate/Routing/Console/stubs/controller.stub

    make:model
    https://github.com/laravel/framework/blob/9.x/src/Illuminate/Foundation/Console/ModelMakeCommand.php
    https://github.com/laravel/framework/blob/9.x/src/Illuminate/Foundation/Console/stubs/model.stub

    Komutlar içlerindeki $defaultName değerine göre yüklenip hangi sınıfta oldukları bulunuyor. Bunu yapan \Illuminate\Console\Application sınıfı ki o da \Symfony\Component\Console\Application kullanıyor.

    Siz artisan make:controller ProductController yazdığınızda ['make:controller', 'ProductController'] şeklinde iki argüman \Illuminate\Foundation\Console\Kernel aracılığıyla \Illuminate\Console\Application (Artisan) sınıfına iletiliyor ve \Symfony\Component\Console\Application::run() tarafından çalıştırılıyor (içlerindeki handle yöntemi ateşleniyor)

    Yapılan bir çok işlem var, kodları takip ederek anlayabilirsiniz. Anlatımdan ziyade kod okuma ile anlaşılacak bir şey.

    Çok teşekkür ederim.