laravel 5.2为控制器创建通用功能?必须使用helper


laravel 5.2 create common function for controllers? must use helper?

我想创建一个可以被所有控制器调用的函数

public function getSuffix($filename) {
    $first_char = substr($filename, 0 ,1);
    $sec_char = substr($filename, 1 ,1);
    $suffix ="";
    if($first_char!='.' && $first_char!='..')
        $suffix .= '/'.$first_char.'/';
    if($sec_char!='.' && $sec_char!='..')
        $suffix .= $sec_char.'/';
    return $suffix;
}

做这件事的最佳做法是什么?助手类是我正在搜索的吗?

在app/http文件夹中创建一个helpers.php文件。然后你的composer.json文件自动加载这个文件。

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

然后运行composer dump autoload,问题就解决了

首先,您需要在CustomFolder等应用程序中创建文件夹,并在SimpleClass.php 等自定义文件夹中创建助手类

<?php
namespace App'CustomFolder;
class SimpleClass {
public function yourFunction(){
   return true;
} 
}
?>

当你在控制器中使用这个助手类时,简单地添加名称空间,比如

<?php
use App'CustomFolder'SimpleClass;
class MyController extends Controller{
}
?>

我认为你的助手课做得很好。

创建基类

<?php
namespace App'Http'Controllers;
use Illuminate'Http'Request;
class BaseController extends Controller
{
    public function __construct()
    {
        //do some stuff
    }
    public function myFunction()
    {
    }
}

并用这个基类扩展您的所有类。