هلپر ها در لاراول
هلپر های به منظور ساخت متدهای عمومی استفاده می شود . در واقع شما با ساخت متد در هلپرها امکان اسفاده آن در همه جا را دارید .
از این گونه متده برای کارهای سبک و پر استفاده می باشد، توجه داشته باشید گارهای سنگین را با این گونه متدها انجام نمی دهند کارهایی مثل چاپ قیمت و یا چاپ تاریخ ، تبدیلات و … از این گونه متدها استفاده می شود .
Laravel Helpers
به منظور ساخت هلپر نیاز است ایتدا یک فولدر به نام Helpers درون پوشته اصلی app بسازید و یک فایل به نام زیر درون آن بسازید main_helper.php توجه داشته باشدی این اسامی دلخواه می باشد .
در مرحله بعد فایل را به auto_load در فایل composer.json معرفی می کنیم به صورت زیر :
"autoload": { "files": [ "app/Helpers/main_helper.php" ], "classmap": [ "database/seeds", "database/factories" ], "psr-4": { "App\\": "app/" } },
و در گام بعدی فایل composer را با استفاده از دستور زیر اتولاد می نماییم .
composer dump-autoload
اکنون تمامی متدهای در فایل مورد نظر به طور مثال متدهای زیر در همه برنامه قابل استفاده می باشد :
<?php if (!function_exists('human_file_size')) { /** * Returns a human readable file size * * @param integer $bytes * Bytes contains the size of the bytes to convert * * @param integer $decimals * Number of decimal places to be returned * * @return string a string in human readable format * * */ function human_file_size($bytes, $decimals = 2) { $sz = 'BKMGTPE'; $factor = (int)floor((strlen($bytes) - 1) / 3); return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . $sz[$factor]; } } if (!function_exists('in_arrayi')) { /** * Checks if a value exists in an array in a case-insensitive manner * * @param mixed $needle * The searched value * * @param $haystack * The array * * @param bool $strict [optional] * If set to true type of needle will also be matched * * @return bool true if needle is found in the array, * false otherwise */ function in_arrayi($needle, $haystack, $strict = false) { return in_array(strtolower($needle), array_map('strtolower', $haystack), $strict); } }