Reputation: 3097
I trying to write a view composer,
class CountryCodeComposer
{
function compose($view)
{
$code = substr(file_get_contents('http://ipinfo.io/' . $request->getClientIp() . '/country'), 0, 2);
$view->with('code', $code);
}
}
but this code show error Undefined variable: request
,
How can I pass $request
to compose method ?
Upvotes: 4
Views: 3915
Reputation: 4745
If someone is looking for an alternative of global request()
helper function. Here is an example:
<?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
}
}
Upvotes: 7