سلام دوستان یه سوال دارم ، چطور توی لاراول یه سری تابع ها بنویسیم که هرجا توی هر صفحه مثلا در ویو ها یا کنترلر ها از اون استفاده کنم ،
به طور مثال میخوایم یه تابع اختصاصی برای چک کردن نوع ورودی بسازیم کجا باید قرارش بدیم .
ممنون میشم راهنماییم کنید
به این توابع میگن helper function
در واقع همون توابع گلوبال هستند
میتونی یه جا توی فولدر app یه فایل اضافه کنی
و داخل composer.json به قسمت autoload اضافه اش کنی
و بعدش هم باید از
composer dump-autoload
استفاده کنی
روشی که آقای بیات اشاره کردند هم درسته. یک روش دیگه هم داره که من معمولا ترجیح میدم این هست:
اول یک پوشه داخل 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,
//...
],
و تمام. 😊
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟