首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >制作一个像这样的助手请求帮手

问制作一个像这样的助手请求帮手
EN

Stack Overflow用户
提问于 2020-11-24 09:22:19
回答 2查看 648关注 0票数 2

我想做一个帮助函数,我在我的项目中广泛使用它,几乎在任何地方或其他一些帮助函数,现在可能用作一个例子,我想到了,如下所示:

代码语言:javascript
复制
request()->get('name);

现在我知道了,任何在刀片或控制器或其他地方,如果我使用它的工作。现在我有两个问题。1.如何使这样的帮手能做一些事情,并能被广泛使用2--让这样的帮手成为这样的人是明智的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-24 10:44:32

要成为全球帮手,你可以这样做。

向以下路径app/Helpers/helper.php添加一个php文件(而不是类)。

代码语言:javascript
复制
if (! function_exists('helper')) {
    function helper() {
        return new Helper();
    }
}

为了使其类似于Laravels,方法是使您可以在初始助手调用返回的方法上调用一个对象。

代码语言:javascript
复制
class Helper {
    public function getHelp() {
        return 'did this help?';
    }
}

现在让composer用helper函数自动加载您的文件。

代码语言:javascript
复制
"autoload": {
    "files": [
        "app/Helpers/helper.php"
    ]
}

这将使您能够调用以下内容。

代码语言:javascript
复制
helper()->getHelp(); // returns: did this help?

最后一个问题。

是明智的,让一些助手这样吗?

在面向对象的设计中,这是一个反模式,因为它处理全局函数,并且应该是静态名称空间调用或对象。然而,在Laravel的上下文中,我真的很喜欢使用这些帮助程序所能做的事情。现在,在我当前的项目中,我们有处理格式化浮点数的全局函数,这些函数处理的是我们的地区货币字符串表示格式,这些函数对我们的货币字符串表示有很大帮助,而且使用起来非常愉快。

票数 3
EN

Stack Overflow用户

发布于 2020-11-24 10:41:16

在app\Helpers\GlobalHelper.php中创建一个助手类

代码语言:javascript
复制
<?php


namespace App\Helpers;


class GlobalHelper
{
    public static function helloWorld()
    {
        return "Hello World"
    }
}

然后在您的config\app.php中的别名数组中添加

'Helper' => App\Helpers\GlobalHelper::class,

然后,在刀片文件中可以使用{{ Helper::helloWorld() }},在控制器中可以使用\Helper::helloWorld();。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64983523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档