Для достижения вашей цели вы должны использовать Helper вместо Middleware. Согласно Laravel Документация
Промежуточное ПО обеспечивает удобный механизм фильтрации HTTP-запросов, поступающих в ваше приложение. Например, Laravel включает промежуточное программное обеспечение, которое проверяет подлинность пользователя вашего приложения. Если пользователь не аутентифицирован, промежуточное программное обеспечение перенаправит пользователя на экран входа в систему. Однако, если пользователь прошел аутентификацию, промежуточное программное обеспечение позволит запросу продолжить работу в приложении.
Вы можете создать собственный помощник, как показано ниже, и использовать его в любом месте вашего приложения
Шаг 1: Создайте свой файл класса Помощники по валютам и дайте ему соответствующее пространство имен. Напишите ваш класс и метод:
<?php // Code within app\Helpers\Currency.php
namespace App\Helpers;
class Currency
{
public static function convert($request, Closure $next)
{
$sub=array_shift((explode('.', $_SERVER['HTTP_HOST'])));
$fromCurrency = "AED";
$toCurrency = "$sub";
$amount = "1";
$url = "https://www.google.com/search?q=".$fromCurrency."+to+".$toCurrency;
$get = file_get_contents($url);
$data = preg_split('/\D\s(.*?)\s=\s/',$get);
$exhangeRate = (float) substr($data[1],0,7);
$convertedAmount = $amount*$exhangeRate;
$data = array( 'exhangeRate' => $exhangeRate, 'convertedAmount' =>$convertedAmount, 'fromCurrency' => strtoupper($fromCurrency), 'toCurrency' => strtoupper($toCurrency));
return json_encode( $data );
}
}
Шаг 2: Создайте псевдоним:
<?php // Code within config/app.php
'aliases' => [
...
'Currency' => App\Helpers\Helper::class,
...
Шаг 3: Выполните composer dump-autoload
в проекте root
Шаг 4: Используйте это так в вашем контроллере
<?php
namespace App\Http\Controllers;
use Currency;
class SomeController extends Controller
{
public function __construct()
{
Currency::convert($value);
}