php – 使Laravel应用程序中的任何位置都可以访问变量

我向API发出了cURL请求

HTTP://网站/用户

我收回了这个回复

    data: Object
    first_name: "Bob"
    last_name: "Jones"

我抓住第一个名字和姓氏并将它们连接在一起并存储到变量调用$name中.

$fn = VSE::user('first_name',$username);
$ln = VSE::user('last_name',$username);
$name = ucwords($fn.' '.$ln); // Bob Jones

我想在导航中显示这个$name.

每个视图发送这个$name变量都会有点过分.
我正在寻求一种更好的方法.

我该怎么做才能在我的应用程序路径/视图中访问该变量?

限制:
我无法访问Auth :: user对象.

解决方法:

使用视图编辑器在每个视图中创建所需的变量.

View composers are callbacks or class methods that are called when a
view is rendered. If you have data that you want to be bound to a view
each time that view is rendered, a view composer can help you organize
that logic into a single location.

http://laravel.com/docs/5.1/views#view-composers

view()->composer('*', function ($view) {
    $fn = VSE::user('first_name',$username);
    $ln = VSE::user('last_name',$username);
    $name = ucwords($fn.' '.$ln); // Bob Jones

    $view->with('name', $name);
});

如果您不想使用视图编辑器,只需在AppServiceProvider引导方法添加对view() – > share()方法调用即可

public function boot()
{
    $fn = VSE::user('first_name',$username);
    $ln = VSE::user('last_name',$username);
    $name = ucwords($fn.' '.$ln); // Bob Jones

    view()->share('name', $name);
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...