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 packageLangkah 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/