Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何连接控制器类中的两个变量并将其传递给laravel中该类的所有视图_Php_Laravel_Variables_Laravel Blade - Fatal编程技术网

Php 如何连接控制器类中的两个变量并将其传递给laravel中该类的所有视图

Php 如何连接控制器类中的两个变量并将其传递给laravel中该类的所有视图,php,laravel,variables,laravel-blade,Php,Laravel,Variables,Laravel Blade,我试图在控制器中连接两个类spesific变量,并将其传递给所有视图,而不在每个控制器方法中重复相同的变量 示例代码: class ProductsController extends Controller { private $global_path; //Comes from .env private $sub_folder = '/products_folder'; public function __construct() { /

我试图在控制器中连接两个类spesific变量,并将其传递给所有视图,而不在每个控制器方法中重复相同的变量

示例代码:

    class ProductsController extends Controller
{
    private $global_path; //Comes from .env
    private $sub_folder = '/products_folder';

    public function __construct()
    {
        //Frontend Image Path - to pass into all views
        $frontend_path = $this->global_path.$this->sub_folder;

    }
}
我想将“$frontend_path”传递给在控制器中创建的所有刀片视图,而不在每个方法中重复它,如

return view('example_view', compact('frontend_path');
我尝试查看::共享。。。但我做不到

并非所有控制器中的“$sub_folder”变量的值都相同。


有什么方法可以实现吗?

对于您的代码,我想您可以将其更改为

class ProductsController extends Controller
{
   public $frontend_path;

   public function __construct() {
      $this->frontend_path = env('GLOBAL_PATH') . '/products_folder';
   }

   public function index()
   {
       $x = $this->frontend_path;
       return view('index', compact('x'));
   }
}

并直接使用它,如
$this->frontend_path
或下面的
SELF::$frontend_path

class ProductsController extends Controller
{
    public static $frontend_path;

    public function __construct() {
        SELF::$frontend_path = env('GLOBAL_PATH') . '/products_folder';
    }

     public function index()
     {
         $x = SELF::$frontend_path;
         return view('index', compact('x'));
     }
}

鉴于

{{ $frontend_path }}

如果它独立于控制器和模型,为什么不创建一个帮助器或常量文件来存储所有这些内容,然后从那里使用它们呢?不,就像我说的,$sub_folder'变量在每个控制器中都是不同的。如果是这样的话,我可以很容易地在.EV中定义它并调用它。对于各自的模型是否有各自的控制器,那么您可以考虑定义静态方法并从控制器调用它们。“<代码>子文件夹> /代码>与控制器名相关的路径吗?@ RossWilson不,不是。@ MigavoKAN您对此有任何错误吗?请让我知道。是的,错误是:“常量表达式包含无效操作”@megavolkan现在可以尝试一下并告诉我结果吗?@megavolkan我刚刚在安装中尝试过,它对我很好,你可以尝试一下并让我现在就知道吗?但是我如何将它传递到我的刀片视图,而不在所有控制器方法中重复它
{{ $frontend_path }}