استفاده از helper های اختصاصی در لاراول ۵

/ مرداد ۱۱, ۱۳۹۶ / بدون دیدگاه / در آموزش - لاراول / توسط

در لاراول ۵  ، برای اضافه کردن تابع های helper اختصاصی ۲ راه وجود دارد .

روش اول

این روش ، روش بهتر و کامل تر و حرفه ای تری برای اضافه کردن فایل های helper است . البته این روش کمی طولانی تر از روش دوم ولی با یکبار انجام آن در اضافه کردن سایر فایل ها راحتی بیشتری وجود دارد.گام اول

ابتدا باید یک provide بسازید که فایل های ‌helper را در برنامه بارگزاری کند. برای ساخت فایلی با نام HelperServiceProvider دستور زیر را اجرا کنید:

artisan make:provider HelperServiceProvide

سپس برای بارگزاری فایل ها کد زیر را به این فایل اضافه کنید :

public function register()
{
    foreach (glob(app_path().'/Helpers/*.php') as $filename){
        require_once($filename);
    
}

در مرحله آخر provider را در config/app.php معرفی کنید :

'providers' => [
    'App\Providers\HelperServiceProvider',
]

حالا پوشه Helpers را در مسیر app ایجاد کنید و فایل های php مربوط به Helper ها را در آن قرار دهید .

در نهایت فایل HelperServiceProvider شما باید مشابه زیر باشه :

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class HelperServiceProvider extends ServiceProvider
{
    protected $helpers = [
        // Add your helpers in here
    ];

    /**
     * Bootstrap the application services.
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.
     */
    public function register()
    {
        foreach ($this->helpers as $helper) {
            $helper_path = app_path().'/Helpers/'.$helper.'.php';

            if (\File::isFile($helper_path)) {
                require_once $helper_path;
            }
        }
    }
}

خب تقریبا کار تمومه . حالا به راحتی می تونید هر فایلی که می خواستید را بعد از کپی در پوشه Helpers و اضافه کردن به ارایه helpers در این فایل به راحتی در همه جا در دسترس داشته باشید.

روش دوم

این روش برای اضافه کردن یک فالی بسیار ساده تر و سریع تره .ابتدا فایل خود را در هر پوشه دلخواه در app بسازید(فایل نمونه ما ، فایلی با نام helper.php در پوشه app می باشد).حال بخش autoload مربوط به composer را مشابه زیر ویرایش کنید.

"autoload": {
    "classmap": [
        ...
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/helpers.php" // <---- ADD THIS
    ]
},

با اجرای دستور زیر تابع های موجود در این فایل در همه جا قابل دستیابی می باشند.

composer dump-autoload
نوشته های مرتبط

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *