Cara Membuat Dan Mengembangkan Package Laravel Sendiri - CRUDPRO

Cara Membuat Dan Mengembangkan Package Laravel Sendiri

Dalam posting blog ini Anda belajar bagaimana membangun dan mengembangkan paket Laravel

Requirements

  • PHP 7.4 atau versi diatasnya
  • Composer

Langkah 1. Buat direktori

Pertama, Anda perlu membuat direktori untuk proyek dan paket Anda. Beri nama direktori laravel-package.

Langkah 2. Buat proyek Laravel

Dalam kasus saya, buka direktori di terminal.
cd laravel-package
    
Maka Anda perlu menambahkan proyek Laravel menggunakan salah satu dari perintah berikut
laravel new project
    

atau

composer create-project laravel/laravel project
    

Langkah 3. Buat direktori paket

Buat direktori di dalam direktori laravel-package bernama package

Langkah 4. Inisialisasi paket dengan composer.

Di dalam command prompt, ubah ke folder dengan nama package. Dalam kasus saya, saya mengemasnya dan menjalankan perintah berikut:

composer init
    

Ini akan menginisialisasi folder saat ini sebagai paket composer dan menanyakan beberapa pertanyaan kepada Anda untuk menyiapkan paket. Setelah selesai, akan terlihat seperti ini:

Langkah 5. Muat paket dari proyek Laravel Anda

Buka direktori proyek Laravel Anda dan buka file bernama composer.json. Sekarang Anda dapat menambahkan paket dengan menambahkan:

"repositories": [
        {
            "type": "path",
            "url": "../package"
        }
    ],
    

Jalankan perintah berikut. Di sini sequally/package adalah nama paket vendor dan dapat ditemukan di paket composer.json berdasarkan nama key

composer require sequally/package
    

Langkah 6. Muat penyedia layanan paket

Anda dapat membuat service provider dengan perintah artisan command di direktori proyek Laravel Anda, dengan menggunakan perintah sebagai berikut:

php artisan make:provider PackageServiceProvider
    

Sekarang Anda memiliki file bernama PackageServiceProvider di direktori app/Providers. Mari kita pindahkan file ini ke folder package package/src.

Jangan lupa untuk mengubah namespace service provider Anda!

Langkah 7. Daftarkan paket Anda di serviceprovider

Daftarkan paket secara otomatis service provider proyek Laravel Anda. Anda dapat menambahkan service provider ke provider tambahan>laravel>provider key paket composer.json anda. Ini terlihat seperti ini:

Langkah 8. menambahkan package routes

Untuk menambahkan routes ke sebuah paket, buat direktori bernama route di direktori package/src dan file bernama web.php di dalamnya. Sekarang Anda dapat menambahkan root ke paket sebagai berikut:

Jika Anda memulai proyek laravel Anda dengan php artisan serve, buka URL/test dan Anda akan melihat Test.

Langkah 9. Tambahkan package views

buat direktori dengan nama resources/views didalam direktori package/src. kemudian daftarkan view dengan mengikuti code dalam package/src/PackageServiceProvider.php file didalam method dengan nama boot

$this->loadViewsFrom(__DIR__.'/resources/views', 'package');
    

Parameter kedua adalah awalan tampilan. Jadi jika Anda ingin menggunakan view dalam proyek atau paket Laravel, Anda dapat memanggilnya seperti ini:

return view('package::test');
    
Di mana tes adalah nama view jika view ada di direktori yang ingin Anda panggil:

    return view('package::directory.test');
    

Buat file bernama test.blade.php di direktori resources/views dan tambahkan kode berikut di dalamnya.

Test Page!

Sekarang Anda dapat membuat view dan routes, ubah routes pengujian di web.php menjadi:

Sekarang ketika Anda memulai proyek laravel lagi menggunakan php artisan serve, Anda akan dapat mengakses url/test.

Langkah 10. Tambahkan konfigurasi paket

Buat direktori bernama config di direktori package/src. Anda dapat membuat file bernama package.php di dalam file ini untuk menambahkan detail konfigurasi

Anda dapat mempublikasikan file konfigurasi ke proyek Laravel Anda menggunakan kode berikut dalam file package/src/ PackageServiceProvider.php untuk metode bernama boot.

if ($this->app->runningInConsole()) {
        $this->publishes([
            __DIR__.'/config/package.php' => config_path('package.php'),
        ], 'config');
    }
    

Buka proyek Laravel Anda di terminal Anda dan jalankan perintah berikut untuk mengekspos file konfigurasi Anda

php artisan vendor:publish --provider="Sequally\Package\PackageServiceProvider" --tag="config"
    

Langkah 11. Load migrasi dari paket

Buat direktori database/migrasi di dalam direktori package/src dan tempatkan migrasi di dalamnya. Selanjutnya, Anda perlu menambahkan kode ke package/src/PackageServiceProvider.php dalam metode boot()

$this->loadMigrationsFrom(__DIR__.'/database/migrations');
    

Jika Anda pergi ke proyek Laravel Anda di terminal Anda dan menjalankan perintah berikut php artisan migrate, tidak hanya migrasi dalam proyek Laravel Anda, tetapi juga migrasi dari paket akan dimigrasikan.

Untuk informasi lebih lanjut tentang pengembangan paket Laravel, silakan kunjungi tautan berikut: https://laravelpackage.com/