CF Command - Basic

Output

Beberapa method tersedia untuk menampilkan output pada console:

// Informasi (hijau)
$this->info('Proses selesai');

// Error (merah)
$this->error('Terjadi kesalahan');

// Warning (kuning)
$this->warn('Perhatian');

// Teks biasa
$this->line('Teks biasa');

// Tabel
$this->table(['Header 1', 'Header 2'], [
    ['Row 1 Col 1', 'Row 1 Col 2'],
    ['Row 2 Col 1', 'Row 2 Col 2'],
]);

Input Interaktif

// Pertanyaan
$name = $this->ask('Siapa nama anda?');

// Pertanyaan dengan default
$name = $this->ask('Siapa nama anda?', 'Default');

// Konfirmasi
if ($this->confirm('Apakah anda yakin?')) {
    // ...
}

// Pilihan
$option = $this->choice('Pilih warna', ['merah', 'biru', 'hijau']);

Mengakses Argument dan Option

public function handle() {
    // Mendapatkan satu argument
    $user = $this->argument('user');

    // Mendapatkan semua arguments
    $arguments = $this->arguments();

    // Mendapatkan satu option
    $queue = $this->option('queue');

    // Mendapatkan semua options
    $options = $this->options();
}

Command Berbasis Aplikasi

Untuk command yang memerlukan konteks aplikasi (database, config, dll), extend CConsole_Command_AppCommand:

class CConsole_Command_MyAppCommand extends CConsole_Command_AppCommand {
    protected $signature = 'my:app-command';

    protected $description = 'Command yang memerlukan konteks aplikasi';

    public function handle() {
        // Akses database, config, dll sudah tersedia
        $db = c::db();
    }
}

Memanggil Command dari Code

// Dari controller atau code lain
CConsole::call('my:command', ['argument' => 'value', '--option' => 'value']);