在视图编辑器中使用$ request

Maj*_*Afy 3 laravel laravel-5.3

我试着写一个视图作曲家,

class CountryCodeComposer
{

    function compose($view)
    {
         $code = substr(file_get_contents('http://ipinfo.io/' . $request->getClientIp() . '/country'), 0, 2);
       $view->with('code', $code);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是此代码显示错误Undefined variable: request,

我如何通过$request撰写方法?

ub3*_*t4r 8

替换$request->getClientIp()request()->getClientIp()


Sco*_*eld 6

如果有人正在寻找全局request()辅助函数的替代方案。这是一个例子:

<?php

namespace App\Http\ViewComposers;

use Illuminate\View\View;

/**
 * Connect Http Request class
 */
use Illuminate\Http\Request;

class ExampleComposer
{   
    private $request;

    /**
     * Pass $request
     */
    public function __construct(Request $request)
    {
       $this->request = $request;
    }

    public function compose(View $view)
    {
        // use $this->request
    }
}
Run Code Online (Sandbox Code Playgroud)