سید مهدی حسینی
4 سال پیش توسط سید مهدی حسینی مطرح شد
4 پاسخ

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

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


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
2

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

composer dump-autoload

استفاده کنی


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش آپدیت شد
6

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

اول یک پوشه داخل 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,
    //...
],

و تمام. 😊


رافق مجتهدزاده
تخصص : برنامه نویسی php
@rafig 3 سال پیش مطرح شد
0

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


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

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


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

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