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

Mencipta Aplikasi CLI Dengan Laravel dan Docker

Dec 01, 2024 am 06:06 AM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1673
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Terangkan hashing kata laluan yang selamat di PHP (mis., Password_hash, password_verify). Mengapa tidak menggunakan MD5 atau SHA1? Terangkan hashing kata laluan yang selamat di PHP (mis., Password_hash, password_verify). Mengapa tidak menggunakan MD5 atau SHA1? Apr 17, 2025 am 12:06 AM

Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan? Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan? Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Bagaimana anda menghalang suntikan SQL di PHP? (Penyataan yang disediakan, PDO) Bagaimana anda menghalang suntikan SQL di PHP? (Penyataan yang disediakan, PDO) Apr 15, 2025 am 12:15 AM

Menggunakan penyataan preprocessing dan PDO dalam PHP secara berkesan dapat mencegah serangan suntikan SQL. 1) Gunakan PDO untuk menyambung ke pangkalan data dan tetapkan mod ralat. 2) Buat kenyataan pra -proses melalui kaedah menyediakan dan lulus data menggunakan ruang letak dan laksanakan kaedah. 3) Hasil pertanyaan proses dan pastikan keselamatan dan prestasi kod.

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

PHP: Pengendalian pangkalan data dan logik sisi pelayan PHP: Pengendalian pangkalan data dan logik sisi pelayan Apr 15, 2025 am 12:15 AM

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

Tujuan PHP: Membina Laman Web Dinamik Tujuan PHP: Membina Laman Web Dinamik Apr 15, 2025 am 12:18 AM

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

See all articles