Harusnya ada". lingkungan. contoh" file dalam proyek, Anda perlu mengganti nama file itu menjadi ". env". Kemudian Anda dapat menjalankan kuncinya. menghasilkan perintah lagi dan semua harus baik
Jika Anda tidak punya ". lingkungan. contoh" file mungkin Anda dapat menggunakan yang default dan mengganti namanya menjadi ". env". https. //github. com/laravel/laravel/blob/8. X/. lingkungan. contoh
Artisan adalah antarmuka baris perintah yang disertakan dengan Laravel. Artisan ada di root aplikasi Anda sebagai skrip
namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
3 dan menyediakan sejumlah perintah bermanfaat yang dapat membantu Anda saat Anda membuat aplikasi. Untuk melihat daftar semua perintah Artisan yang tersedia, Anda dapat menggunakan perintahnamespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
4Setiap perintah juga menyertakan layar "bantuan" yang menampilkan dan menjelaskan argumen dan opsi perintah yang tersedia. Untuk melihat layar bantuan, awali nama perintah dengan
namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
5Layar Laravel
Jika Anda menggunakan Laravel Sail sebagai lingkungan pengembangan lokal Anda, ingatlah untuk menggunakan baris perintah
namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
6 untuk menjalankan perintah Artisan. Sail akan mengeksekusi perintah Artisan Anda di dalam kontainer Docker aplikasi Anda./vendor/bin/sail artisan list
_Tinker (REPL)
Laravel Tinker adalah REPL yang kuat untuk framework Laravel, didukung oleh paket PsySH
Instalasi
Semua aplikasi Laravel menyertakan Tinker secara default. Namun, Anda dapat menginstal Tinker menggunakan Composer jika sebelumnya Anda telah menghapusnya dari aplikasi Anda
composer require laravel/tinker
Catatan
Mencari UI grafis untuk berinteraksi dengan aplikasi Laravel Anda?
Penggunaan
Tinker memungkinkan Anda untuk berinteraksi dengan seluruh aplikasi Laravel Anda di baris perintah, termasuk model Eloquent, pekerjaan, acara, dan lainnya. Untuk memasuki lingkungan Tinker, jalankan perintah
namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
7 ArtisanAnda dapat menerbitkan file konfigurasi Tinker menggunakan perintah
namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
8php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_Peringatan
Fungsi pembantunamespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
9 dan metodenamespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
9 pada kelas* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
1 bergantung pada pengumpulan sampah untuk menempatkan pekerjaan di antrean. Oleh karena itu, saat menggunakan tinker, Anda harus menggunakan* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
2 atau* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
3 untuk mengirimkan pekerjaan
Perintah Izinkan Daftar
Tinker menggunakan daftar "izinkan" untuk menentukan perintah Artisan mana yang boleh dijalankan di dalam cangkangnya. Secara default, Anda dapat menjalankan perintah
* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
_4,* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
5,* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
6,* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
7,* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
8,* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
9, danArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
0. Jika Anda ingin mengizinkan lebih banyak perintah, Anda dapat menambahkannya ke arrayArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
1 di file konfigurasiArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
2 Anda// App\Console\Commands\ExampleCommand::class,
Kelas Yang Tidak Boleh Alias
Biasanya, Tinker secara otomatis membuat alias kelas saat Anda berinteraksi dengannya di Tinker. Namun, Anda mungkin tidak ingin menggunakan alias untuk beberapa kelas. Anda dapat melakukannya dengan mendaftar kelas-kelas dalam array
Artisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
3 dari file konfigurasiArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
2 AndaMenulis Perintah
Selain perintah yang disediakan oleh Artisan, Anda dapat membuat perintah khusus sendiri. Perintah biasanya disimpan di direktori
Artisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
5;Menghasilkan Perintah
Untuk membuat perintah baru, Anda dapat menggunakan perintah
Artisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
6 Artisan. Perintah ini akan membuat kelas perintah baru di direktoriArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
5. Jangan khawatir jika direktori ini tidak ada di aplikasi Anda - ini akan dibuat saat pertama kali Anda menjalankan perintah ArtisanArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
6php artisan make:command SendEmails
Struktur Komando
Setelah membuat perintah, Anda harus menentukan nilai yang sesuai untuk properti
Artisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
9 danuse App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
0 dari kelas. Properti ini akan digunakan saat menampilkan perintah Anda di layarnamespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
4. PropertiArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
_9 juga memungkinkan Anda untuk menentukan. Metodeuse App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
3 akan dipanggil saat perintah Anda dijalankan. Anda dapat menempatkan logika perintah Anda dalam metode iniMari kita lihat contoh perintah. Perhatikan bahwa kami dapat meminta dependensi apa pun yang kami perlukan melalui metode
use App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
3 perintah. Wadah layanan Laravel akan secara otomatis menyuntikkan semua dependensi yang diisyaratkan dalam tanda tangan metode ininamespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
Catatan
Untuk penggunaan kembali kode yang lebih besar, praktik yang baik adalah menjaga agar perintah konsol Anda tetap ringan dan membiarkan mereka tunduk pada layanan aplikasi untuk menyelesaikan tugas mereka. Pada contoh di atas, perhatikan bahwa kami menyuntikkan kelas layanan untuk melakukan "pekerjaan berat" dalam mengirim email
Perintah Penutupan
Perintah berbasis penutupan memberikan alternatif untuk mendefinisikan perintah konsol sebagai kelas. Dengan cara yang sama penutupan rute adalah alternatif untuk pengontrol, pikirkan penutupan perintah sebagai alternatif untuk kelas perintah. Dalam metode
Artisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
_1 dari fileuse App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
6 Anda, Laravel memuat fileuse App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
7* Register the closure based commands for the application.
protected function commands()
require base_path('routes/console.php');
Meskipun file ini tidak menentukan rute HTTP, file ini menentukan titik masuk (rute) berbasis konsol ke dalam aplikasi Anda. Di dalam file ini, Anda dapat menentukan semua perintah konsol berbasis penutupan menggunakan metode
use App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
8. Metodeuse App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
_9 menerima dua argumen. dan penutupan yang menerima argumen dan opsi perintahArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
Penutupan terikat pada instance perintah yang mendasarinya, sehingga Anda memiliki akses penuh ke semua metode pembantu yang biasanya dapat Anda akses pada kelas perintah penuh
Ketergantungan Mengisyaratkan Tipe
Selain menerima argumen dan opsi perintah Anda, penutupan perintah juga dapat mengetikkan petunjuk ketergantungan tambahan yang ingin Anda selesaikan dari wadah layanan
use App\Support\DripEmailer;
Artisan::command('mail:send {user}', function (DripEmailer $drip, $user) {
$drip->send(User::find($user));
Deskripsi Perintah Penutupan
Saat menentukan perintah berbasis penutupan, Anda dapat menggunakan metode
Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
0 untuk menambahkan deskripsi ke perintah. Deskripsi ini akan ditampilkan saat Anda menjalankan perintah ________46______1 atauArtisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
2Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
Perintah yang Dapat Diisolasi
Peringatan Untuk memanfaatkan fitur ini, aplikasi Anda harus menggunakan driver cache
Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
3,Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
4, Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
5,Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
6,Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
7, atauArtisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
8 sebagai driver cache default aplikasi Anda. Selain itu, semua server harus berkomunikasi dengan server cache pusat yang sama
Kadang-kadang Anda mungkin ingin memastikan bahwa hanya satu perintah yang dapat dijalankan pada satu waktu. Untuk melakukannya, Anda dapat menerapkan antarmuka
Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
9 pada kelas perintah Andacomposer require laravel/tinker
0Ketika sebuah perintah ditandai sebagai
composer require laravel/tinker
_00, Laravel akan secara otomatis menambahkan opsicomposer require laravel/tinker
01 ke perintah. Saat perintah dipanggil dengan opsi itu, Laravel akan memastikan bahwa tidak ada contoh lain dari perintah itu yang sedang berjalan. Laravel menyelesaikan ini dengan mencoba mendapatkan kunci atom menggunakan driver cache default aplikasi Anda. Jika contoh lain dari perintah sedang berjalan, perintah tidak akan dijalankan;composer require laravel/tinker
1Jika Anda ingin menentukan kode status keluar yang harus dikembalikan oleh perintah jika tidak dapat dijalankan, Anda dapat memberikan kode status yang diinginkan melalui opsi
composer require laravel/tinker
02composer require laravel/tinker
2Kunci Waktu Kedaluwarsa
Secara default, kunci isolasi kedaluwarsa setelah perintah selesai. Atau, jika perintah terputus dan tidak dapat diselesaikan, kunci akan kedaluwarsa setelah satu jam. Namun, Anda dapat menyesuaikan waktu kedaluwarsa kunci dengan menentukan metode
composer require laravel/tinker
03 pada perintah Andacomposer require laravel/tinker
_3Mendefinisikan Ekspektasi Masukan
Saat menulis perintah konsol, biasanya mengumpulkan masukan dari pengguna melalui argumen atau opsi. Laravel membuatnya sangat nyaman untuk mendefinisikan input yang Anda harapkan dari pengguna menggunakan properti
Artisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
9 pada perintah Anda. PropertiArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
_9 memungkinkan Anda menentukan nama, argumen, dan opsi untuk perintah dalam sintaks tunggal, ekspresif, seperti ruteArgumen
Semua argumen dan opsi yang disediakan pengguna dibungkus dengan kurung kurawal. Dalam contoh berikut, perintah mendefinisikan satu argumen yang diperlukan.
composer require laravel/tinker
_06composer require laravel/tinker
_4Anda juga dapat membuat argumen opsional atau menentukan nilai default untuk argumen
composer require laravel/tinker
5Pilihan
Opsi, seperti argumen, adalah bentuk lain dari masukan pengguna. Opsi diawali dengan dua tanda hubung (
composer require laravel/tinker
07) saat disediakan melalui baris perintah. Ada dua jenis pilihan. mereka yang menerima nilai dan mereka yang tidak. Opsi yang tidak menerima nilai berfungsi sebagai "sakelar" boolean. Mari kita lihat contoh jenis opsi inicomposer require laravel/tinker
_6Dalam contoh ini, sakelar
composer require laravel/tinker
_08 dapat ditentukan saat memanggil perintah Artisan. Jika sakelarcomposer require laravel/tinker
_08 dilewatkan, nilai opsinya adalahcomposer require laravel/tinker
10. Jika tidak, nilainya akan menjadicomposer require laravel/tinker
_11composer require laravel/tinker
_7Pilihan Dengan Nilai
Selanjutnya, mari kita lihat opsi yang mengharapkan nilai. Jika pengguna harus menentukan nilai untuk opsi, Anda harus menambahkan nama opsi dengan tanda
composer require laravel/tinker
12composer require laravel/tinker
_8Dalam contoh ini, pengguna dapat memberikan nilai untuk opsi seperti itu. Jika opsi tidak ditentukan saat menjalankan perintah, nilainya akan menjadi
composer require laravel/tinker
13composer require laravel/tinker
_9Anda dapat menetapkan nilai default ke opsi dengan menentukan nilai default setelah nama opsi. Jika tidak ada nilai opsi yang diteruskan oleh pengguna, nilai default akan digunakan
php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_0Pintasan Opsi
Untuk menetapkan pintasan saat menentukan opsi, Anda dapat menentukannya sebelum nama opsi dan menggunakan karakter
composer require laravel/tinker
14 sebagai pembatas untuk memisahkan pintasan dari nama opsi lengkapphp artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_1Saat menjalankan perintah di terminal Anda, pintasan opsi harus diawali dengan satu tanda hubung
Array Masukan
Jika Anda ingin menentukan argumen atau opsi untuk mengharapkan beberapa nilai masukan, Anda dapat menggunakan
composer require laravel/tinker
15 karakter. Pertama, mari kita lihat contoh yang menentukan argumen semacam ituSaat memanggil metode ini, argumen
composer require laravel/tinker
_06 dapat diteruskan ke baris perintah. Misalnya, perintah berikut akan menetapkan nilaicomposer require laravel/tinker
06 ke array dengancomposer require laravel/tinker
18 dancomposer require laravel/tinker
19 sebagai nilainyaKarakter
composer require laravel/tinker
_15 ini dapat digabungkan dengan definisi argumen opsional untuk memungkinkan nol atau lebih contoh argumenArray Opsi
Saat menentukan opsi yang mengharapkan beberapa nilai input, setiap nilai opsi yang diteruskan ke perintah harus diawali dengan nama opsi
Perintah seperti itu dapat dipanggil dengan melewati beberapa
composer require laravel/tinker
21 argumenphp artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_2Deskripsi Masukan
Anda dapat menetapkan deskripsi untuk memasukkan argumen dan opsi dengan memisahkan nama argumen dari deskripsi menggunakan tanda titik dua. Jika Anda memerlukan sedikit ruang ekstra untuk mendefinisikan perintah Anda, jangan ragu untuk menyebarkan definisi tersebut ke beberapa baris
php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_3Perintah I/O
Mengambil Masukan
Saat perintah Anda dijalankan, Anda mungkin perlu mengakses nilai untuk argumen dan opsi yang diterima oleh perintah Anda. Untuk melakukannya, Anda dapat menggunakan metode
composer require laravel/tinker
_22 dancomposer require laravel/tinker
23. Jika argumen atau opsi tidak ada,composer require laravel/tinker
13 akan dikembalikanphp artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_4Jika Anda perlu mengambil semua argumen sebagai
Artisan::command('mail:send {user}', function ($user) {
})->purpose('Send a marketing email to a user');
8, panggil metodecomposer require laravel/tinker
26php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_5Opsi dapat diambil semudah argumen menggunakan metode
composer require laravel/tinker
23. Untuk mengambil semua opsi sebagai array, panggil metodecomposer require laravel/tinker
28php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_6Meminta Masukan
Selain menampilkan output, Anda juga dapat meminta pengguna untuk memberikan input selama eksekusi perintah Anda. Metode
composer require laravel/tinker
_29 akan meminta pengguna dengan pertanyaan yang diberikan, menerima input mereka, dan kemudian mengembalikan input pengguna kembali ke perintah Andaphp artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_7Metode
composer require laravel/tinker
_30 mirip dengancomposer require laravel/tinker
29, tetapi input pengguna tidak akan terlihat oleh mereka saat mereka mengetik di konsol. Cara ini berguna saat menanyakan informasi sensitif seperti kata sandiphp artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_8Meminta Konfirmasi
Jika Anda perlu meminta konfirmasi sederhana "ya atau tidak" kepada pengguna, Anda dapat menggunakan metode
composer require laravel/tinker
32. Secara default, metode ini akan mengembalikancomposer require laravel/tinker
_11. Namun, jika pengguna memasukkancomposer require laravel/tinker
_34 ataucomposer require laravel/tinker
35 sebagai respons terhadap prompt, metode akan mengembalikancomposer require laravel/tinker
10php artisan vendor:publish --provider="Laravel\Tinker\TinkerServiceProvider"
_9Jika perlu, Anda dapat menentukan bahwa perintah konfirmasi harus mengembalikan
composer require laravel/tinker
10 secara default dengan meneruskancomposer require laravel/tinker
10 sebagai argumen kedua ke metodecomposer require laravel/tinker
32// App\Console\Commands\ExampleCommand::class,
0Penyelesaian Otomatis
Metode
composer require laravel/tinker
_40 dapat digunakan untuk menyediakan pelengkapan otomatis untuk kemungkinan pilihan. Pengguna masih dapat memberikan jawaban apa pun, terlepas dari petunjuk pelengkapan otomatis// App\Console\Commands\ExampleCommand::class,
_1Alternatifnya, Anda dapat melewatkan penutupan sebagai argumen kedua untuk metode
composer require laravel/tinker
40. Penutupan akan dipanggil setiap kali pengguna mengetik karakter masukan. Penutupan harus menerima parameter string yang berisi input pengguna sejauh ini, dan mengembalikan serangkaian opsi untuk pelengkapan otomatis// App\Console\Commands\ExampleCommand::class,
_2Soal pilihan ganda
Jika Anda perlu memberi pengguna serangkaian pilihan yang telah ditentukan saat mengajukan pertanyaan, Anda dapat menggunakan metode
composer require laravel/tinker
42. Anda dapat mengatur indeks array dari nilai default untuk dikembalikan jika tidak ada opsi yang dipilih dengan meneruskan indeks sebagai argumen ketiga ke metodeSelain itu, metode
composer require laravel/tinker
_42 menerima argumen opsional keempat dan kelima untuk menentukan jumlah upaya maksimum untuk memilih respons yang valid dan apakah beberapa pilihan diizinkan// App\Console\Commands\ExampleCommand::class,
_3Keluaran Tulisan
Untuk mengirim keluaran ke konsol, Anda dapat menggunakan metode
composer require laravel/tinker
44,composer require laravel/tinker
45,composer require laravel/tinker
46,composer require laravel/tinker
47,composer require laravel/tinker
48, dancomposer require laravel/tinker
composer require laravel/tinker
_45 akan ditampilkan di konsol sebagai teks berwarna hijau// App\Console\Commands\ExampleCommand::class,
_4Untuk menampilkan pesan kesalahan, gunakan metode ________5______49. Teks pesan kesalahan biasanya ditampilkan dalam warna merah
// App\Console\Commands\ExampleCommand::class,
_5Anda dapat menggunakan metode
composer require laravel/tinker
_44 untuk menampilkan teks polos dan tidak berwarna// App\Console\Commands\ExampleCommand::class,
_6Anda dapat menggunakan metode
composer require laravel/tinker
_53 untuk menampilkan baris kosong// App\Console\Commands\ExampleCommand::class,
_7Tabel
Metode
composer require laravel/tinker
_54 memudahkan untuk memformat beberapa baris/kolom data dengan benar. Yang perlu Anda lakukan hanyalah memberikan nama kolom dan data untuk tabel dan Laravel akan secara otomatis menghitung lebar dan tinggi tabel yang sesuai untuk Anda// App\Console\Commands\ExampleCommand::class,
_8Bilah Kemajuan
Untuk tugas yang berjalan lama, akan sangat membantu untuk menampilkan bilah kemajuan yang memberi tahu pengguna seberapa selesai tugas tersebut. Menggunakan metode
composer require laravel/tinker
_55, Laravel akan menampilkan bilah progres dan memajukan progresnya untuk setiap iterasi di atas nilai iterable yang diberikan// App\Console\Commands\ExampleCommand::class,
_9Terkadang, Anda mungkin memerlukan lebih banyak kontrol manual atas bagaimana bilah kemajuan dimajukan. Pertama, tentukan jumlah total langkah yang akan dilalui proses. Kemudian, majukan bilah kemajuan setelah memproses setiap item
php artisan make:command SendEmails
0Catatan
Untuk opsi lebih lanjut, lihat dokumentasi komponen Symfony Progress Bar
Mendaftarkan Perintah
Semua perintah konsol Anda terdaftar dalam kelas
composer require laravel/tinker
56 aplikasi Anda, yang merupakan "kernel konsol" aplikasi Anda. Di dalam metodeArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
1 dari kelas ini, Anda akan melihat panggilan ke metodecomposer require laravel/tinker
58 kernel. Metodecomposer require laravel/tinker
_58 akan memindai direktoriArtisan::command('mail:send {user}', function ($user) {
$this->info("Sending email to: {$user}!");
5 dan secara otomatis mendaftarkan setiap perintah yang ada di dalamnya dengan Artisan. Anda bahkan bebas melakukan panggilan tambahan ke metodecomposer require laravel/tinker
58 untuk memindai direktori lain untuk perintah Artisanphp artisan make:command SendEmails
1Jika perlu, Anda dapat mendaftarkan perintah secara manual dengan menambahkan nama kelas perintah ke properti
composer require laravel/tinker
62 dalam kelascomposer require laravel/tinker
56 Anda. Jika properti ini belum ditentukan pada kernel Anda, Anda harus menentukannya secara manual. Saat Artisan mem-boot, semua perintah yang tercantum di properti ini akan diselesaikan oleh wadah layanan dan didaftarkan ke Artisanphp artisan make:command SendEmails
2Menjalankan Perintah Secara Terprogram
Terkadang Anda mungkin ingin menjalankan perintah Artisan di luar CLI. Misalnya, Anda mungkin ingin menjalankan perintah Artisan dari rute atau pengontrol. Anda dapat menggunakan metode
composer require laravel/tinker
_64 pada fasadcomposer require laravel/tinker
65 untuk mencapai ini. Metodecomposer require laravel/tinker
_64 menerima nama tanda tangan perintah atau nama kelas sebagai argumen pertama, dan array parameter perintah sebagai argumen kedua. Kode keluar akan dikembalikanphp artisan make:command SendEmails
3Atau, Anda dapat meneruskan seluruh perintah Artisan ke metode
composer require laravel/tinker
64 sebagai stringphp artisan make:command SendEmails
4Melewati Nilai Array
Jika perintah Anda menentukan opsi yang menerima array, Anda dapat meneruskan array nilai ke opsi itu
php artisan make:command SendEmails
5Melewati Nilai Boolean
Jika Anda perlu menentukan nilai opsi yang tidak menerima nilai string, seperti bendera
composer require laravel/tinker
68 pada perintahcomposer require laravel/tinker
69, Anda harus meneruskancomposer require laravel/tinker
10 ataucomposer require laravel/tinker
11 sebagai nilai opsiphp artisan make:command SendEmails
6Perintah Artisan Antrean
Menggunakan metode
composer require laravel/tinker
_72 pada fasadcomposer require laravel/tinker
65, Anda bahkan dapat mengantri perintah Artisan sehingga diproses di latar belakang oleh pekerja antrean Anda. Sebelum menggunakan metode ini, pastikan Anda telah mengonfigurasi antrean dan menjalankan pemroses antreanphp artisan make:command SendEmails
7Menggunakan metode
composer require laravel/tinker
_74 dancomposer require laravel/tinker
75, Anda dapat menentukan koneksi atau antrian yang harus dikirim oleh perintah Artisanphp artisan make:command SendEmails
8Memanggil Perintah Dari Perintah Lain
Terkadang Anda mungkin ingin memanggil perintah lain dari perintah Artisan yang sudah ada. Anda dapat melakukannya dengan menggunakan metode
composer require laravel/tinker
_64. Metodecomposer require laravel/tinker
_64 ini menerima nama perintah dan array argumen / opsi perintahphp artisan make:command SendEmails
_9Jika Anda ingin memanggil perintah konsol lain dan menekan semua keluarannya, Anda dapat menggunakan metode
composer require laravel/tinker
78. Metodecomposer require laravel/tinker
_78 memiliki tanda tangan yang sama dengan metodecomposer require laravel/tinker
64namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
0Penanganan Sinyal
Seperti yang Anda ketahui, sistem operasi memungkinkan sinyal dikirim ke proses yang sedang berjalan. Misalnya, sinyal
composer require laravel/tinker
_81 adalah bagaimana sistem operasi meminta program untuk dihentikan. Jika Anda ingin mendengarkan sinyal dalam perintah konsol Artisan Anda dan mengeksekusi kode saat sinyal itu muncul, Anda dapat menggunakan metodecomposer require laravel/tinker
_82namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
_1Untuk mendengarkan beberapa sinyal sekaligus, Anda dapat memberikan serangkaian sinyal ke metode
composer require laravel/tinker
82namespace App\Console\Commands;
use App\Support\DripEmailer;
use Illuminate\Console\Command;
class SendEmails extends Command
* The name and signature of the console command.
protected $signature = 'mail:send {user}';
* The console command description.
protected $description = 'Send a marketing email to a user';
* Execute the console command.
* @param \App\Support\DripEmailer $drip
public function handle(DripEmailer $drip)
$drip->send(User::find($this->argument('user')));
_2Kustomisasi Rintisan
Perintah
composer require laravel/tinker
84 konsol Artisan digunakan untuk membuat berbagai kelas, seperti pengontrol, pekerjaan, migrasi, dan pengujian. Kelas-kelas ini dihasilkan menggunakan file "rintisan" yang diisi dengan nilai berdasarkan masukan Anda. Namun, Anda mungkin ingin membuat sedikit perubahan pada file yang dibuat oleh Artisan. Untuk melakukannya, Anda dapat menggunakan perintahcomposer require laravel/tinker
_85 untuk menerbitkan stub yang paling umum ke aplikasi Anda sehingga Anda dapat menyesuaikannyaRintisan yang dipublikasikan akan ditempatkan di dalam direktori
composer require laravel/tinker
86 di root aplikasi Anda. Setiap perubahan yang Anda lakukan pada stub ini akan tercermin saat Anda membuat kelas yang sesuai menggunakan perintahcomposer require laravel/tinker
84 ArtisanAcara
Artisan mengirimkan tiga peristiwa saat menjalankan perintah.
composer require laravel/tinker
88,composer require laravel/tinker
89, dancomposer require laravel/tinker
90. Acaracomposer require laravel/tinker
_91 dikirim segera saat Artisan mulai berjalan. Selanjutnya, eventcomposer require laravel/tinker
_92 dikirim segera sebelum perintah dijalankan. Terakhir, eventcomposer require laravel/tinker
_93 dikirim setelah perintah selesai dieksekusi