Laravel 5中的辅助功能

时间:2015-02-09 18:32:11

标签: php laravel laravel-5

我有一个功能,它给了我一个 guid 。但是,我无法想象如何在Laravel 5中实际实现它,所以我可以在我的控制器中使用它。

这是功能:

function getGuid() {
    return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
        mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ),
        mt_rand( 0, 0xffff ),
        mt_rand( 0, 0x0fff ) | 0x4000,
        mt_rand( 0, 0x3fff ) | 0x8000,
        mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff )
    );  
}

如何实现这一点,以便我可以从我的控制器访问它?

2 个答案:

答案 0 :(得分:3)

随意将功能代码放在项目的任何位置。 例如,在App/Support/helpers.php文件中以及将此文件添加到composer.json autoload.files部分之后。此功能将在您的项目中提供。

你的作曲家文件的自动加载部分将如下所示

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

Laravel为此helper functions做了同样的事情,看看 vendor / laravel / framework / composer.json文件,你会看到这个

"autoload": {
    "classmap": [
        "src/Illuminate/Queue/IlluminateQueueClosure.php"
    ],
    "files": [
        "src/Illuminate/Foundation/helpers.php",
        "src/Illuminate/Support/helpers.php"
    ],
    "psr-4": {
        "Illuminate\\": "src/Illuminate/"
    }
},

更改后不要忘记调用 composer dump-autoload

答案 1 :(得分:1)

在您的app目录中创建一个helpers.php文件并包含以下行:

    "files": [
        "app/helpers.php"
    ]

到你的composer.json自动加载:

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