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 ?
Replace $request->getClientIp() with request()->getClientIp()
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
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With