laravel publi c переменная для разных контроллеров - PullRequest
1 голос
/ 29 февраля 2020

Я хочу установить переменную publi c, чтобы использовать ее в разных контроллерах. Я попробовал это, но это не удалось.

class HomeController extends Controller
{
 public $TravelId;
public function __construct()
{
 $this->TravelId=0;
}
}

, затем я использовал ту же переменную в другом контроллере

class HomeController extends Controller
{
public function index($cus_id)
{
    //unique key for each user
    $this->TravelId = $cus_id;
}
}

1 Ответ

1 голос
/ 29 февраля 2020

Все ваши контроллеры расширяют класс App\Http\Controllers\Controller по умолчанию, поэтому вы можете добавить свойство для этого класса и получить к нему доступ на всех ваших контроллерах:

<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    /**
     * Your static property
     */
    public static $travelId;
}

Затем вы можете получить к нему доступ на другом контроллере:

self::$travelId = $cus_id;
...