Konsol Komutları
Buyruk ile proje yönetimi, kod üretimi, inceleme, otomasyon ve uygulama komutlarını tek sözleşmeyle çalıştırın.
Buyruk, KUT kökündeki tek konsol girişidir. Yerleşik, Common ve seçilen projeye ait komutları aynı Registry üzerinden çözer; her komut belirli bir çıkış koduyla tamamlanır.
Komut söz dizimi
php buyruk [--project=Project] domain:action [target] [options]
Yerleşik komut adları domain:action, PHP hedefleri ise Class:method biçimindedir. İç içe proje yolu eksiksiz yazılır.
php buyruk list
php buyruk help render:compile
php buyruk --project=OrunCP/Site project:show
Proje ve kod üretimi
php buyruk project:list
php buyruk project:create Blog
php buyruk --project=Blog controller:create Home
php buyruk --project=Blog model:create Article
php buyruk --project=Blog view:create Home/main
php buyruk --project=Blog command:create Reports --command=report:build
Silme ve geri alma komutları etkileşimli onay ister. Otomasyonda bilinçli olarak --yes verilebilir.
Uygulama kodunu çalıştırma
php buyruk --project=Blog command:run Jobs:run daily
php buyruk --project=Blog common-command:run SharedJobs:run 10
php buyruk --project=Blog controller:run Home:main
php buyruk --project=Blog model:run Article:rebuildIndex
İlk iki nokta komutun alanını ve eylemini, ikinci Class:method ifadesi çalıştırılacak PHP hedefini belirtir. Böylece hedefin türü komut satırından anlaşılır.
Rendering, veritabanı ve inceleme
php buyruk --project=Blog render:clear
php buyruk --project=Blog render:compile
php buyruk --project=Blog migration:status
php buyruk --project=Blog database:validate
php buyruk --project=Blog route:list
php buyruk --project=Blog config:validate
php buyruk --project=Blog project:validate
php buyruk --project=Blog autoload:refresh
php buyruk --project=Blog system:diagnose
project:validate, proje controller ve görünüm dizinleriyle etkin Config dosyalarının PHP sözdizimini denetler. İç içe bir proje kendi Config dizinini taşımıyorsa Settings/Projects.php içinde tanımlanan container projesinin Config dizini doğrulanır.
Proje komutu tanımlama
<?php namespace Project\Commands;
use Kut\Command;
use Kut\Console\AsCommand;
use Kut\Console\Input;
use Kut\Console\Output;
#[AsCommand(name: 'report:build', description: 'Raporu yeniden üretir.')]
class Reports extends Command
{
public function execute(Input $input, Output $output): int
{
$output->success('Rapor hazır.');
return 0;
}
}
destructive: true verilen proje komutları da onay korumasına katılır. Eski PHPDoc komut etiketleri Registry kaydı oluşturmaz.
Ortak seçenekler ve çıkış kodları
| Seçenek | İşlev |
|---|---|
--json | Makine tarafından okunabilir sonuç üretir. |
--quiet | Başarılı normal çıktıyı susturur. |
--no-ansi | Renk kodlarını kapatır. |
--no-interaction | Girdi beklemeyi kapatır. |
--yes | Korunan işlemi açıkça onaylar. |
-v | Hata ayrıntısını artırır. |
0 başarıyı, 1 çalışma hatasını, 2 kullanım veya doğrulama hatasını, 3 ise gerekli onayın verilmediğini belirtir.
Shell completion
php buyruk completion powershell
php buyruk completion bash
php buyruk completion zsh
shell:run --yes -- program çağrısıyla mümkündür. Parola, token, secret ve anahtar seçenekleri komut günlüğünde maskelenir.Konsol bağlamı
Konsol, başlangıç kontrolcülerini otomatik çalıştırmaz. Bu bilinçli bir tasarımdır: oturum bekleyen bir başlangıç kontrolcüsü komut satırında işi durdururdu. Her komut ihtiyaç duyduğu parçayı kendisi hazırlar.
public function __construct()
{
parent::__construct();
date_default_timezone_set(Config::project('timezone'));
foreach(['ILTER', 'InitializeLanguage'] as $controller)
{
Kut\In::startingController($controller);
}
}
Saat dilimi
Zaman damgası yazan bir komut saat dilimini kendisi kurmalıdır. Kurmayan komut sunucunun saatiyle yazar; web ve cron proje saatiyle yazdığı için aynı tabloda kaymış kayıtlar oluşur.
Dil
SITE_LANG yalnızca web isteğinde tanımlıdır. Dil tablosuna bakan yardımcıları konsoldan çağıracaksanız InitializeLanguage başlangıç kontrolcüsünü çalıştırın.
Proje seçimi
İç içe projelerde komut, hedef projenin sınıflarına ancak proje seçildiğinde ulaşır:
php buyruk --project=Uygulama/Panel command:run Gorev:run
Seçim yapılmazsa Settings/Projects.php eşlemesi kullanılır ve hedef projenin sınıfı "bulunamadı" olarak görünür.