从控制器传递功能到视图

kyo*_*kyo 1 php laravel laravel-5 laravel-5.1

我有一个接受字符串并将其转换为Mac Address格式的函数。

    function mac_adress($str){
        $end = substr($str, -12);
        $chunks = str_split($end, 2);
        $result = implode(':', $chunks);
        return $result;
    }
Run Code Online (Sandbox Code Playgroud)

我想将函数传递给我的视图,所以我可以像这样调用它

$str = 836997595163;

{!!mac_adress($str)!!} //83:69:97:59:51:63

我有多个在功能上需要此视图的视图,并且我试图避免将它们放在刀片服务器文件的每个视图中。

我怎样才能做到这一点 ?

可能吗?

djt*_*djt 5

helper根据您在整个站点中实际需要多少功能,这可能是一个不错的选择。

创建一个helpers.php文件

<?php

function mac_adress($str){
     $end = substr($str, -12);
     $chunks = str_split($end, 2);
     $result = implode(':', $chunks);
     return $result;
 }
Run Code Online (Sandbox Code Playgroud)

然后自动加载到 composer.json

{
    "autoload": {
        "files": [
            "app/helpers.php"
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

然后composer dump-autoload在您的终端中运行,您的助手方法将在整个应用程序中可用。这样,您可以helpers.php根据需要添加更多的辅助函数。