Rumah > pembangunan bahagian belakang > tutorial php > Mencipta Aplikasi CLI Dengan Laravel dan Docker

Mencipta Aplikasi CLI Dengan Laravel dan Docker

Barbara Streisand
Lepaskan: 2024-12-01 06:06:12
asal
463 orang telah melayarinya

Creating a CLI Application With Laravel and Docker

Apakah Aplikasi CLI?

Aplikasi CLI (Command-Line Interface) ialah program komputer yang berinteraksi dengan pengguna melalui arahan teks yang dimasukkan dalam terminal atau konsol. Tidak seperti aplikasi web yang bergantung pada antara muka pengguna grafik (GUI), aplikasi CLI adalah berasaskan teks dan sering digunakan untuk automasi, pentadbiran sistem dan tugas pemprosesan data.

Mengapa Laravel dan Docker?

Laravel ialah rangka kerja PHP yang berkuasa yang memudahkan pembangunan aplikasi web. Sintaksnya yang elegan, ciri teguh dan ekosistem yang luas menjadikannya pilihan yang sangat baik untuk membina aplikasi CLI. Dengan alat baris perintah Artisan Laravel, anda boleh membuat dan mengurus arahan dengan cepat, menjadikannya mudah untuk mengautomasikan tugas dan skrip.

Docker ialah platform kontena yang membungkus aplikasi dan kebergantungannya ke dalam bekas mudah alih. Dengan menggunakan Docker, kami boleh mencipta persekitaran terpencil untuk aplikasi Laravel kami, memastikan konsistensi dan kebolehulangan merentas persekitaran pembangunan dan pengeluaran yang berbeza.

Dalam artikel ini, kami akan meneroka cara memanfaatkan Laravel dan Docker untuk membina aplikasi CLI yang mantap dan cekap.

Menyediakan Projek Laravel

Mencipta Projek Laravel Baharu

Untuk bermula, mari buat projek Laravel baharu. Anda boleh menggunakan pemasang Laravel untuk menyediakan projek baharu dengan pantas:

laravel new my-cli-app
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Arahan ini akan mencipta direktori baharu bernama my-cli-app dan memulakan projek Laravel baharu di dalamnya.

Mengkonfigurasi Perintah artisan

Alat baris arahan terbina dalam Laravel, artisan, ialah inti kepada rangka kerja. Kami boleh menggunakannya untuk mencipta dan mengurus pelbagai aspek aplikasi kami. Untuk membuat arahan baharu, kami akan menggunakan arahan make:command Artisan:

php artisan make:command GreetUser

Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Arahan ini akan menjana kelas arahan baharu bernama GreetUser dalam direktori apl/Console/Commands. Struktur asas kelas arahan kelihatan seperti ini:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

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

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Greet a user';

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        $name = $this->argument('name');

        if ($name) {
            $this->info("Hello, {$name}!");
        } else {
            $this->info('Hello, world!');
        }

        return Command::SUCCESS;
    }
}

Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini:

- $signature: Mentakrifkan nama arahan dan sebarang hujah atau pilihan pilihan. Bahagian {name?} menunjukkan argumen pilihan bernama nama.
- $description: Menyediakan penerangan ringkas tentang arahan.
- handle(): Mengandungi logik teras arahan. Ia mengakses argumen nama menggunakan $this->argument('name') dan mencetak mesej ucapan kepada konsol.

Untuk menjalankan arahan ini, gunakan arahan berikut dalam terminal anda:

php artisan greet:user JohnDoe

Salin selepas log masuk
Salin selepas log masuk

Ini akan mengeluarkan:

laravel new my-cli-app
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Menulis Logik Perintah

Logik Perintah Teras

Kaedah pemegang() ialah tempat keajaiban sebenar berlaku. Di sinilah anda akan menentukan logik teras arahan anda. Anda boleh mengakses argumen dan pilihan arahan, berinteraksi dengan rangka kerja Laravel dan melaksanakan pelbagai tugas.

Berikut ialah contoh perintah yang mengambil data daripada API dan memprosesnya:

php artisan make:command GreetUser

Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini:

- Mengambil Data: Kami menggunakan fasad Http untuk menghantar permintaan HTTP GET ke URL yang ditentukan.
- Memproses Data: Jika permintaan berjaya, kami menghuraikan respons JSON dan memproses data seperti yang diperlukan.
- Output: Kami menggunakan kaedah maklumat dan ralat untuk memaparkan mesej kepada konsol.

Menguji Perintah

Untuk menguji arahan anda, hanya laksanakan menggunakan perintah php artisan:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

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

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Greet a user';

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        $name = $this->argument('name');

        if ($name) {
            $this->info("Hello, {$name}!");
        } else {
            $this->info('Hello, world!');
        }

        return Command::SUCCESS;
    }
}

Salin selepas log masuk
Salin selepas log masuk

Ingat untuk menggantikan https://api.example.com/data dengan titik akhir API sebenar.

Ini akan mencetuskan kaedah handle() bagi arahan FetchData, dan anda akan melihat output yang sesuai dalam terminal anda.

Menyimpan Aplikasi dengan Docker

Docker ialah alat yang berkuasa untuk menyimpan aplikasi. Dengan memasukkan kontena aplikasi Laravel anda, anda boleh memastikan persekitaran yang konsisten merentas tetapan pembangunan dan pengeluaran yang berbeza.

Mencipta fail Docker

Fail Docker ialah dokumen teks yang mengandungi arahan tentang cara membina imej Docker. Berikut ialah Fail Docker asas untuk aplikasi Laravel:

php artisan greet:user JohnDoe

Salin selepas log masuk
Salin selepas log masuk

Mencipta Fail Karang Docker

Fail Docker Compose mentakrifkan dan menjalankan aplikasi Docker berbilang bekas. Berikut ialah fail Karang Docker asas untuk aplikasi Laravel:

Hello, JohnDoe!
Salin selepas log masuk

Fail Docker Compose ini mentakrifkan dua perkhidmatan:

  • apl: Membina imej Docker menggunakan Fail Docker dan memetakan port 8000 mesin hos anda ke port 9000 bekas. Ia juga melekapkan direktori semasa sebagai volum pada bekas, membenarkan perubahan kod langsung.
  • pangkalan data: Menarik imej MySQL dan menyediakan pangkalan data dengan kelayakan yang ditentukan.

Membina dan Menjalankan Imej Docker

Membina Imej

Untuk membina imej Docker, navigasi ke direktori akar projek anda di terminal anda dan jalankan arahan berikut:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Http;

class FetchData extends Command
{
    protected $signature = 'fetch:data {url}';

    protected $description = 'Fetch data from a given URL';

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

        $response = Http::get($url);

        if ($response->successful()) {
            $data = $response->json();
            // Process the data here
            $this->info('Data fetched and processed successfully!');
        } else {
            $this->error('Failed to fetch data.');
        }
    }
}

Salin selepas log masuk

Arahan ini akan membina imej Docker yang ditakrifkan dalam Dockerfile dan menandakannya dengan nama (biasanya nama perkhidmatan daripada fail docker-compose.yml).

Menjalankan Kontena

Setelah imej dibina, anda boleh memulakan bekas menggunakan arahan berikut:

laravel new my-cli-app
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Arahan ini akan memulakan aplikasi dan bekas pangkalan data dalam mod tertanggal, membolehkan anda mengakses aplikasi anda dalam penyemak imbas anda. Anda boleh mengakses aplikasi anda di http://localhost:8000.

Untuk menghentikan bekas, gunakan arahan berikut:

php artisan make:command GreetUser

Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Amalan Terbaik dan Topik Lanjutan

Organisasi Perintah dan Modularisasi

Apabila aplikasi CLI anda berkembang, adalah penting untuk memastikan arahan anda teratur dan modular. Pertimbangkan untuk memecahkan perintah kompleks kepada perintah yang lebih kecil dan lebih fokus. Anda boleh menggunakan pembekal perkhidmatan dan fasad untuk menyuntik kebergantungan dan berkongsi logik antara arahan.

Ralat Pengendalian dan Pembalakan

Melaksanakan pengendalian dan pengelogan ralat yang mantap adalah penting untuk menyahpepijat dan memantau aplikasi CLI anda. Laravel menyediakan sistem pengelogan berkuasa yang boleh anda gunakan untuk mengelog ralat, amaran dan mesej maklumat. Anda juga boleh menggunakan alatan pengelogan luaran seperti Loggly atau Papertrail untuk ciri pengelogan yang lebih maju.

Menguji Aplikasi CLI

Menulis ujian unit untuk logik arahan anda adalah penting untuk memastikan kualiti dan kebolehselenggaraan kod. Anda boleh menggunakan PHPUnit atau rangka kerja ujian lain untuk menulis ujian yang meliputi senario dan kes tepi yang berbeza.

Deployment dan CI/CD

Untuk menggunakan aplikasi Dockerized Laravel anda, anda boleh menggunakan alatan orkestrasi kontena seperti Kubernetes atau Docker Swarm. Alat ini membolehkan anda mengurus dan menskalakan aplikasi anda merentas berbilang hos.
Anda juga boleh menyepadukan aplikasi anda dengan saluran paip CI/CD untuk mengautomasikan proses binaan, ujian dan penggunaan. Alat CI/CD popular termasuk Jenkins, GitLab CI/CD dan CircleCI.

Dengan mengikuti amalan terbaik dan teknik lanjutan ini, anda boleh membina aplikasi CLI yang berkuasa dan cekap dengan Laravel dan Docker.

Kesimpulan

Dalam artikel ini, kami telah meneroka cara membina aplikasi CLI yang mantap dan cekap menggunakan Laravel dan Docker. Dengan memanfaatkan kuasa alatan ini, anda boleh mencipta alatan baris perintah yang mengautomasikan tugas, memproses data dan berinteraksi dengan infrastruktur aplikasi anda.

Kami telah merangkumi asas-asas mencipta arahan Laravel, menulis logik arahan dan membekalkan aplikasi anda dengan Docker. Kami juga telah membincangkan amalan terbaik untuk organisasi arahan, pengendalian ralat, ujian dan penggunaan.

Sambil anda terus membina dan meningkatkan aplikasi CLI anda, ingat untuk memastikan kod anda bersih, diuji dengan baik dan boleh diselenggara. Dengan mengikuti garis panduan ini dan meneroka ciri lanjutan Laravel dan Docker, anda boleh mencipta alatan CLI yang berkuasa dan fleksibel yang menyelaraskan aliran kerja anda.

Atas ialah kandungan terperinci Mencipta Aplikasi CLI Dengan Laravel dan Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan