هلپر در لاراول به توابعی گفته میشن که همه جای پروژه بهشون دسترسی داریم بدون اینکه هر بار لودشون کنیم.
لاراول کلی هلپر خوب بصورت آماده داره که خیلی از کارهارو براتون آسون میکنه، مثل کار با آرایه ها، فایل ها، رشته ها، روت ها و یکی از پر کاربرترینشون هم همین dd
خودمون :). شما میتونید هلپر های خودتون رو بصورت دستی هم تعریف کنید و با کمپوزر بصورت خودکار لودشون کنید.
نحوه ساختن فایل Helper در لاراول
همونطور که گفتم هلپر ها تابع هستند پس باید داخل یه فایل نوشته بشن. لاراول هیچ دایرکتوری خاصی برای helper
ها در نظر نگرفته و شما میتونید بصورت دلخواه براش جا در نظر بگیرید. من مثلا داخل app/Helpers
رو برای این کار در نظر میگیرم و داخلش فایل main.php
رو قرار میدم.
لود خودکار فایل ها در لاراول با کمپوزر
یکی از کاربردهای باحال کمپوزر جدا از مدیریت نیازمندی ها، همین autoload
هست که به شما این امکان رو میده که در ران تایم فایل های دلخواهتون رو توی کدتون لود کنید بدون اینکه اون بالا بنویسید require_once any.php
. در پروژه لاراولتون یه فایل دارید به اسم composer.json
، توی این فایل یه key به اسم autoload وجود داره و داخلش میتونید مشخص کنید که چه فایل هایی به autoload اضافه بشن. یه مثال واستون میزنم که کاملا بدونید چی به چیه :
"autoload": { "files": [ "app/Helpers/main.php" ], "classmap": [ "database/seeds", "database/factories" ], "psr-4": { "App\\": "app/" } },
به کمپوزر گفتم که فایل main.php رو بذار توی autoload. حالا باید به کامپوزر بگیم که فایل های autoload رو از اول بسازه، برای این کار توی روت پروژه این کامند رو اجرا کنید :
composer dump
حالا main.php و فانکشن هایی که داخلش تعریف میکنید همیشه در دسترس خواهند بود.
تعریف توابع helper در لاراول
توابع هلپر مثل بقیه توابع هستند فقط باید حواسمون باشه که تابع دیگه ای رو رونوشت نکنیم :
if (! function_exists('test')) { function test($key, $default = null) { // ... } }
هلپر ها خیلی جاها به دردتون میخورن ولی حواستون باشه که هر چی که لازم بود رو نذارید توی هلپر و فقط توابعی که زیاد ازشون استفاده میکنید رو بذارید داخلش و لذت ببرید.
موفق باشید 🙂