1402/02/29 190 کلمه 1 دقیقه

ایجاد و ریجیستر کردن Service Provider

آموزش ساخت پکیج لاراول

هر پکیج لاراولی یک فایل ServiceProvider اصلی درون خود دارد. این service provider تنظیمات پکیج و تمام مواردی که نیاز هست در اجرای کدهای پکیج لود شوند را شامل می‌شود.

در نام‌گذاری هیچ اجباری نیست اما برای اینکه از قراردادهای نام‌گذاری در لاراول پیروی کنیم از شیوه نام‌گذاری CamelCase استفاده می‌کنیم و در انتهای نام کلاس پسوند ServiceProvider را قرار می‌دهیم.

از وقتی که لاراول دستور make:provider را در مجموعه دستورات artisan خود دارد برای ساخت این فایل از این دستور کمک می‌گیریم. اما حتما به یاد بسپاریم که پس از ایجاد فایل مورد نظر آن را از مسیر app/Providers به مسیر packages/themahdavi/laravel-permission-editor/src انتقال دهیم.

packages/themahdavi/laravel-permission-editor/src/PermissionEditorServiceProvider.php:

namespace themahdavi\LaravelPermissionEditor;

use Illuminate\Support\ServiceProvider;

class PermissionEditorServiceProvider extends ServiceProvider

{

	public function register()
	
	{
	
	//
	
	}

	public function boot()
	
	{
	
	//
	
	}

}

برای اینکه namespace های داخل فایل‌ها به درستی کار کنند نیاز هست دو مقدار autoload و extra داخل فایل composer.json پکیج تنظیم شوند.

packages/themahdavi/laravel-permission-editor/composer.json:

{  
	"name": "themahdavi/laravel-permission-editor",
	
	// ...
	
	"autoload": {
	
		"psr-4": {
		
			"themahdavi\\LaravelPermissionEditor\\": "src"
		
		}
	
	},
	
	"extra": {
	
		"laravel": {
		
			"providers": [
			
				"themahdavi\\LaravelPermissionEditor\\PermissionEditorServiceProvider"
			
			]
		
		}
	
	},

}

در درس بعدی سراغ اولین عملگر داخل پکیج خواهیم رفت.