我有一个功能,它给了我一个 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 )
);
}
如何实现这一点,以便我可以从我的控制器访问它?
答案 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"
]
},