Php laravel 5.2为控制器创建通用功能?必须使用助手吗?

Php laravel 5.2为控制器创建通用功能?必须使用助手吗?,php,laravel-5.2,Php,Laravel 5.2,我想创建一个可以被所有控制器调用的函数 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

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

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;
}

这样做的最佳实践是什么?我正在搜索的是helper类吗?

在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()
    {

    }
}