Laravel5,这个通用代码放在哪里

时间:2016-02-15 17:28:04

标签: php laravel-5.1

我有一些php行,会在我的应用程序中经常使用。所以我想构建一个函数并在我的应用程序中的每个位置调用它。我的功能可能是:

static function array_matiere($id_ecole) {
     return $something;
}

我尝试将此代码放在控制器中,然后调用它:

$liste_matieres = MatieresController::array_matieres(Session::get('id_ecole'));

它有效,但在哪里放这种功能?在控制器?在方法文件中?什么是最佳做法?

感谢您的回复。

多米尼克

2 个答案:

答案 0 :(得分:2)

有多种方法可以实现这一点。看这里

方法1 Laravel Expert(JeffreyWay)强烈建议使用此方法

如果你的助手功能类似于laravel 5的工作方式,即Illuminate/Support/helpers.php你可以创建一个helpers.php并让作曲家为你做自动加载。

编辑composer.json文件并将文件添加到自动加载密钥。在我的示例中,我的应用程序称为Tasky,因此只需添加文件键和引用helpers.php

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

这样您只需在app/Support/helpers.php内创建文件,所有基于函数的常用视图助手或其他帮助程序都可以在此处。如果你采用基于类的方法,那么上面的内容很棒。

然后记得只运行一次。

  

$ composer dumpautoload

Source

方法2

Please Follow the link and read answer & Its comments

答案 1 :(得分:0)

每当你需要在你的应用程序中包含一段提供某些功能的代码时,Laravel的最佳方法是在app / Services中创建Service类,然后你可以在应用程序的任何地方使用该类

   use App\Services\YourServiceName;