Package trong Laravel - hướng dẫn tạo Package cụ thể

04/01/2022   Laravel
Package trong Laravel - hướng dẫn tạo Package cụ thể
Ví dụ tạo package vdmot cho Laravel 5.8
B1. Tạo thư mục package vendor/phonglg/vdmot/src
B2. Tạo file composer.json trong thư mục package vendor/phonglg/vdmot/ bằng cách mở Cmd lên gõ lệnh
composer init nhập thông tin cho file composer.json |
Bạn sẽ có file composer.json với nội dung sau
{ |
B3. Load các file trong package lên ứng dụng Laravel của bạn bằng cách mở file composer.js trong thư muc gốc, và thêm namespace
"autoload-dev": { |
B4. Chạy lệnh để composer nhận namespace mới (chạy tại thư mục gốc)
* Lệnh này rất quan trọng vì nó khai báo với laravel Package của bạn nằm ở thư mục nào.
composer dumpautoload |
B5. Tạo file router.php trong thu mục vendor/phonglg/vdmot/src với nội dung
<?php Route::get('sampleusers', 'Phonglg\Vdmot\VdmotController@index'); ?> |
B6. Tạo Service Provider, bằng cách tạo file VdmotServiceProvider.php trong thư mục vendor/phonglg/vdmot/src. Sử dụng file Route vừa tạo bước 4.
<?php // |
B7. Tạo View - Tạo thư mục : views trong thư mục vendor/phonglg/vdmot/src, tạo file admin.blade.php trong thư mục views với nội dung
<div class="container"> |
B8. Tạo controller cho package bằng cách thêm một file VdmotController.php vào thư mục vendor/phonglg/vdmot/src:
Sử dụng file views vừa tạo ở trên
<?php |
B9. Đăng ký service provider để sử dụng trong toàn bộ app như sau: vào file config/app.php thêm vào dòng sau:
* Đăng ký này rất quan trọng, nó khai báo với laravel bạn sẽ sử dụng package này.
'providers' => [ /* * Application Service Providers... */
Illuminate\View\ViewServiceProvider::class, ] |
B10. Đến đây ta đã được một package có thể chạy được thông qua đường dẫn:
localhost/sampleusers |
Kết luận về sử dụng Package
Để sử dụng Package có sẵn bạn cần
1. Chỉnh file Composer để đăng ký Namspace mới
2. Đăng ký service provider để sử dụng trong toàn bộ app, bằng cách vào file config/app.php

