PHP全局变量或最佳实践

PHP全局变量或最佳实践,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正处于网络开发事业的初级阶段,有一个快速的问题 我有一个变量,我在控制器的很多函数中使用 $today = new DateTime('today'); 我已经读到声明全局变量是一个很大的禁忌,我希望不必在每个函数中声明它 声明此变量并在所有控制器函数中使用它的最佳方法是什么?您可以使用$\u SESSION变量来存储数据,并且仍然具有全局用途 session_start(); $_SESSION['today'] = new DateTime('today'); 您可以使用$\u SE

我正处于网络开发事业的初级阶段,有一个快速的问题

我有一个变量,我在控制器的很多函数中使用

$today = new DateTime('today');
我已经读到声明全局变量是一个很大的禁忌,我希望不必在每个函数中声明它


声明此变量并在所有控制器函数中使用它的最佳方法是什么?

您可以使用
$\u SESSION
变量来存储数据,并且仍然具有全局用途

session_start(); 
$_SESSION['today'] = new DateTime('today');

您可以使用
$\u SESSION
变量来存储数据,并且仍然具有全局用途

session_start(); 
$_SESSION['today'] = new DateTime('today');

您可以使用
$\u SESSION
变量来存储数据,并且仍然具有全局用途

session_start(); 
$_SESSION['today'] = new DateTime('today');

您可以使用
$\u SESSION
变量来存储数据,并且仍然具有全局用途

session_start(); 
$_SESSION['today'] = new DateTime('today');

如果这是仅在控制器上使用的内容,则可以在基本控制器中创建它:

<?php

BaseController extends Controller {

    protected $today;

    public function __construct()
    {
        $today = new DateTime('now');
    }

}

MyController extends BaseController {

    public function whatever()
    {
        echo "today: $this->today";
    }

}
您的所有视图都可以使用它:

Today: {{ $today }}
这对我来说没有多大意义,但是如果希望在请求之间保持此变量,可以使用laravel会话外观:

Session::put('today', now DateTime('now'));

echo Session::get('today');

除非您确实需要控制会话处理,否则不要使用会话。

如果这是您仅在控制器上使用的东西,您可以在基本控制器中创建它:

<?php

BaseController extends Controller {

    protected $today;

    public function __construct()
    {
        $today = new DateTime('now');
    }

}

MyController extends BaseController {

    public function whatever()
    {
        echo "today: $this->today";
    }

}
您的所有视图都可以使用它:

Today: {{ $today }}
这对我来说没有多大意义,但是如果希望在请求之间保持此变量,可以使用laravel会话外观:

Session::put('today', now DateTime('now'));

echo Session::get('today');

除非您确实需要控制会话处理,否则不要使用会话。

如果这是您仅在控制器上使用的东西,您可以在基本控制器中创建它:

<?php

BaseController extends Controller {

    protected $today;

    public function __construct()
    {
        $today = new DateTime('now');
    }

}

MyController extends BaseController {

    public function whatever()
    {
        echo "today: $this->today";
    }

}
您的所有视图都可以使用它:

Today: {{ $today }}
这对我来说没有多大意义,但是如果希望在请求之间保持此变量,可以使用laravel会话外观:

Session::put('today', now DateTime('now'));

echo Session::get('today');

除非您确实需要控制会话处理,否则不要使用会话。

如果这是您仅在控制器上使用的东西,您可以在基本控制器中创建它:

<?php

BaseController extends Controller {

    protected $today;

    public function __construct()
    {
        $today = new DateTime('now');
    }

}

MyController extends BaseController {

    public function whatever()
    {
        echo "today: $this->today";
    }

}
您的所有视图都可以使用它:

Today: {{ $today }}
这对我来说没有多大意义,但是如果希望在请求之间保持此变量,可以使用laravel会话外观:

Session::put('today', now DateTime('now'));

echo Session::get('today');

除非您确实需要控制会话处理,否则不要使用
$\u SESSION

此变量的上下文是什么?我很难想象这些数据是用来做什么的。你能提供一些关于控制器和这个变量当前用法的更多信息吗?您的控制器是以类的形式存在的,您可以在其中将值设置为对象属性吗?此变量的上下文是什么?我很难想象这些数据是用来做什么的。你能提供一些关于控制器和这个变量当前用法的更多信息吗?您的控制器是以类的形式存在的,您可以在其中将值设置为对象属性吗?此变量的上下文是什么?我很难想象这些数据是用来做什么的。你能提供一些关于控制器和这个变量当前用法的更多信息吗?您的控制器是以类的形式存在的,您可以在其中将值设置为对象属性吗?此变量的上下文是什么?我很难想象这些数据是用来做什么的。你能提供一些关于控制器和这个变量当前用法的更多信息吗?您的控制器是否以类的形式存在,您可以在其中将值设置为对象属性?View::share方法正是我想要的。非常感谢!View::share方法正是我想要的。非常感谢!View::share方法正是我想要的。非常感谢!View::share方法正是我想要的。非常感谢!你听说过拉威尔的会议吗?除非需要控制会话处理,否则不应在Laravel应用程序中使用
$\u session
。你听说过拉威尔的会议吗?除非需要控制会话处理,否则不应在Laravel应用程序中使用
$\u session
。你听说过拉威尔的会议吗?除非需要控制会话处理,否则不应在Laravel应用程序中使用
$\u session
。你听说过拉威尔的会议吗?除非需要控制会话处理,否则不应在Laravel应用程序中使用
$\u session