首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在控制器中创建和访问帮助程序

问在控制器中创建和访问帮助程序
EN

Stack Overflow用户
提问于 2019-01-18 10:05:41
回答 1查看 59关注 0票数 0

我在App文件夹中创建了一个名为Helper.php的帮助文件。

app/Helper.php

代码语言:javascript
复制
<?php

namespace App;

use Illuminate\Support\Facades\DB;

class Helper {

    public function get_username($user_id) 
    {
        $user = DB::table('users')->where('userid', $user_id)->first();

        return (isset($user->username) ? $user->username : '');
    }
}

app/Providers/HelperServiceProvider.php

代码语言:javascript
复制
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class HelperServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }

    public function register()
    {
        require_once app_path() . 'Helper.php';
    }
}

config/app.php

在提供者的数组里..。

代码语言:javascript
复制
App\Providers\HelperServiceProvider::class,

在aliases数组中..。

代码语言:javascript
复制
'Helper' => App\Helper::class,

一切正常,但现在我有了以下错误。

以“非静态方法($user->id)”消息引发的ErrorException不应静态调用。

但是,当我添加static关键字来发挥作用时,它的工作效果很好。静态方法和非静态方法有什么区别?

EN

回答 1

Stack Overflow用户

发布于 2019-01-21 22:30:36

别名使您可以访问刀片模板中的外观,而无需将其添加到模板中(vie use语句)。通过facade调用方法时,静态调用此方法,facade将调用包含此方法的类的对象。

在Laravel中,通常像Laravel那样创建一个包含帮助者的文件,并通过composer自动加载该文件。

请在这里查询更多细节

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

https://stackoverflow.com/questions/54251643

复制
相关文章

相似问题

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