نحوه ساخت هلپر ها در لاراول

هلپر ها در لاراول

هلپر های به منظور ساخت متدهای عمومی استفاده می شود . در واقع شما با ساخت متد در هلپرها امکان اسفاده آن در همه جا را دارید .

از این گونه متده برای کارهای سبک و پر استفاده می باشد، توجه داشته باشید گارهای سنگین را با این گونه متدها انجام نمی دهند کارهایی مثل چاپ قیمت و یا چاپ تاریخ ، تبدیلات و … از این گونه متدها استفاده می شود .

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);
    }
}
پیشنهاد پیرو برای شما :   json در mysql