آموزش ساخت توابع کمکی Helper Function در لاراول
لاراول شامل تعداد زیادی تابع PHP می باشد که شما می توانید از آن ها درون اپلیکیشن خود استفاده کنید. این توابع کمکی Helper نامیده می شوند.مانند ()view() ، auth() ، redirect و ...
Helper ها توابعی هستند که وظایف مشترک را اجرا می کنند و عموما در تمام قسمت های فریمورک قابل دسترسی هستند. در این آموزش نحوه ساخت یک Helper سفارشی در لاراول را آماده کردیم. با ما همراه باشید:
یک پروژه جدید ایجاد کنید:
composer create-project laravel/laravel larahelpers --prefer-dist
Helper های ما در پوشه app قرار می گیرد. پوشه app را باز کنید و یک پوشه با نام Helper داخل آن ایجاد کنید.
تعریف کلاس Helper
حال یک تابع helper ساده می سازیم که دو رشته ورودی را به هم متصل می کند.
یک فایل با نام myFunction.php در مسیر app/Helpers ایجاد کرده و کد زیر را به آن اضافه کنید:
<?php
namespace App\Helpers;
class myFunction{
public static function full_name($firstname, $lastname){
return $firstname . ', ' . $lastname;
}
}
?>
service provider ها برای بارگذاری خودکار کلاس ها بکار می روند. باید سرویس provider ی تعریف کنیم تا کلاس های helper ساخته شده توسط ما که در پوشه app/Helpers قرار دارند، را بارگذاری کند.
دستور زیر را در ترمینال / CMD وارد کنید:
php artisan make:provider HelperServiceProvider
فایل HelperServiceProviderدر مسیر app/Providers/HelperServiceProvider.php ایجاد می شود. این فایل را باز کنید. کد زیر را به آن اضافه کنید:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperServiceProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void */
public function boot() {
//
}
/**
* Register the application services.
*
* @return void */
public function register() {
foreach (glob(app_path() . '/Helpers/*.php') as $filename) {
require_once($filename);
}
}
}
تننظیم SERVICE PROVIDER و ALIAS مربوط به HELPER
حالا باید سرویس provider ایجاد شده را ثبت کنیم و یک نام مستعار (alias) برای آن تعیین کنیم.
فایل app.php موجود در پوشه config را باز کنید. در قسمت مربوط به provider ها، خط زیر را اضافه کنید:
App\Providers\HelperServiceProvider::class,
همچنین در بخش مربوط به alias ها کد زیر را اضافه کنید:
'MyFunction' => App\Helpers\myFunction::class,
تغییرات اعمال شده را ذخیره کنید.
حالا باید یک Route برای دسترسی به helper ایجاد شده تعریف کنیم. فایل web.php موجود در پوشه routes را باز کنید و Route زیر را در آن تعریف نمایید:
Route::get('/func', function(){
return myFunction::full_name('myName', 'myFamily');
});
حال پروژه خود را اجرا کنید
php artisan serve
و مسیر زیر را در مرورگر خود تایپ کنید
localhost:8000/func
به پایان این آموزش رسیدیم. امیدوارم این آموزش را پسندیده باشید. چسبون- مرجع برنامه نویسی و طراحی وب