Php Laravel组织辅助函数
请不要在回答中与技术人员交谈:-D我不是一个硬核程序员Php Laravel组织辅助函数,php,laravel,Php,Laravel,请不要在回答中与技术人员交谈:-D我不是一个硬核程序员 在Laravel中存储某些函数的好方法是什么?我有一些只适用于“post”或“media”的函数,比如getAttributeList或getComponents。我之所以说“Post”和“Media”,是因为它们都有自己的控制器、模型和视图。把它放在模型中感觉不对,因为那应该是数据库的东西,对吗?而特征更适合于各地重复出现的功能,对吗?所以,现在我有一个名为Helpers.php的大文件。而且,它越来越大了。。。我是否应该在PostHel
在Laravel中存储某些函数的好方法是什么?我有一些只适用于“post”或“media”的函数,比如getAttributeList或getComponents。我之所以说“Post”和“Media”,是因为它们都有自己的控制器、模型和视图。把它放在模型中感觉不对,因为那应该是数据库的东西,对吗?而特征更适合于各地重复出现的功能,对吗?所以,现在我有一个名为Helpers.php的大文件。而且,它越来越大了。。。我是否应该在PostHelpers.php、mediahelopers.php等中简单地将其分开?或者在Laravel中有没有更优雅的方法呢?在您的composer json文件中,检查这个片段
"autoload": {
"files": [
"app/Helpers/global_helper.php"
],
正如您所看到的,我已经在一个名为Helpers的文件夹中自动加载了一个名为global\u helper.php的文件,现在在这个文件中,我有一个名为loadHelper(…$files)
这个函数的作用是
if (!function_exists('loadHelper')) {
function loadHelper(...$file_names)
{
foreach ($file_names as $file) {
include_once __DIR__ . '/' . $file . '_helper.php';
}
}
}
您可以将文件名作为数组或字符串传递,它会将这些文件包含到控制器构造函数中
因此,在我的控制器中,每当我需要某个助手函数时,我都会为该控制器创建一个saperate助手文件,然后在构造函数中包含它
我不确定是否有更好的解决方案,但到目前为止,这是我如何使我所有的项目
我希望这对你有帮助;) 非常简单:只需检查你应用程序根目录下的composer.json文件。并在“自动加载”部分下添加:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": ["app/helper.php"],
"classmap": [
"database/seeds",
"database/factories"
]
“files”:[“app/helper.php”],这是您需要添加到ur composer文件中并提供文件路径的行。
在我的例子中,我在App目录中创建了一个helper.php文件,在那里我保存了所有函数。
在此之后,运行此命令:
作曲家转储自动加载
现在你可以在任何地方访问你的功能。谢谢希瓦姆,我现在就有了。所以我只是把它切成几个文件。但是,将助手文件转换为类(如Facade)是一个好主意吗?我认为这是个好主意,所以我不覆盖函数,也不必检查函数是否一直在其他地方激活。