laravel中创建帮助函数文件

来源:互联网 发布:c语言中栈是什么 编辑:程序博客网 时间:2024/05/16 12:52

在 Laravel项目中有时我们会需要一些不依赖于类的辅助函数,通常我们会将这些辅助函数定义在一个单独文件如  helpers.php 中。我们在 app 目录下创建这个名为 helpers.php 的文件,并在次文件中编写内容如下:

<?php

if ( ! function_exists('asset_path')) {
    /**
     * 加载静态资源
     * @param $path 资源路径
     * @return string 返回资源路径全名
     */
    function asset_path($path)
    {
        return env('ASSET_PATH') . DIRECTORY_SEPARATOR . $path;
    }
}


/**
 * 返回可读性更好的文件尺寸
 */
function human_filesize($bytes, $decimals = 2)
{
    $size = ['B', 'kB', 'MB', 'GB', 'TB', 'PB'];
    $factor = floor((strlen($bytes) - 1) / 3);


    return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) .@$size[$factor];
}


/**
 * 判断文件的MIME类型是否为图片
 */
function is_image($mimeType)
{
    return starts_with($mimeType, 'image/');
}


其中 asset_path() 函数用来设置静态资源(css,JS)的路径, human_filesize() 函数返回一个易读的文件尺寸,is_image() 函数在文件类型为图片的时候返回 true。要让应用能够正确找到 helpers.php 文件,还要修改项目根目录下的 composer.json

{    ...    "autoload": {        "classmap": [            "database"        ],        "psr-4": {            "App\\": "app/"        },        "files": [            "app/helpers.php"        ]    },    ...}

在 autoload 配置项的 files 数组中指定要被加载的文件/文件夹。修改完成后记得运行 composer dumpauto 确保修改生效:


现在 helpers.php 中的所有函数都会载入到自动加载器中。到此创建自定义帮助函数文件就完成了。


0 0
原创粉丝点击