راکت

ساخت تابع های سراسری در لاراول

4 پاسخ

سلام دوستان یه سوال دارم ، چطور توی لاراول یه سری تابع ها بنویسیم که هرجا توی هر صفحه مثلا در ویو ها یا کنترلر ها از اون استفاده کنم ،
به طور مثال میخوایم یه تابع اختصاصی برای چک کردن نوع ورودی بسازیم کجا باید قرارش بدیم .
ممنون میشم راهنماییم کنید

ثبت پرسش جدید

پاسخ‌ها

4
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

به این توابع میگن helper function
در واقع همون توابع گلوبال هستند
میتونی یه جا توی فولدر app یه فایل اضافه کنی
و داخل composer.json به قسمت autoload اضافه اش کنی
و بعدش هم باید از

composer dump-autoload

استفاده کنی

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

روشی که آقای بیات اشاره کردند هم درسته. یک روش دیگه هم داره که من معمولا ترجیح میدم این هست:

اول یک پوشه داخل app بسازید مثلا بنام Helpers. بعد به هر تعداد دلخواه فایل با پسوند .php میسازید داخلش که محتوی function های عمومی تون هست. بعد با دستور زیر یک provider میسازید:

php artisan make:provider MyHelpersServiceProvider

از مسیر app/Providers/MyHelpersServiceProvider.php بازش میکنید و محتوای زیر رو داخلش قرار میدید:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class MyHelpersServiceProvider extends ServiceProvider {

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

    public function boot() {
        //
    }
}

دستور بالا میگه برو از همون پوشه Helpers که قبلا ایجاد کردیم هر فایلی با پسوند .php رو پیدا کردی require کن در زمان اجرای برنامه.

و در آخرین مرحله کافیه این serviceproider ی که ایجاد کردیم رو به لاراول معرفی کنیم تا اجرا بشه. برای این کار فایل config/app.php رو باز میکنید و خط کد زیر رو به providers اضافه میکنید:

'providers' => [
    //...
        App\Providers\MyHelpersServiceProvider::class,
    //...
],

و تمام. 😊

شاید پاسخ شما همین‌جا باشد

رافق مجتهدزاده
رافق مجتهدزاده
@rafig

تخصص: برنامه نویسی php

سلام
چطوری می شه به هلپر فانکشن ها مقدار ارسال کرد و چطور دریافت کرد؟

میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
ببین helper خیلی کمکت میکنن

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام