我處於我的網絡發展事業的嬰兒階段,並有一個快速的問題。PHP全球變量或最佳實踐
我有一個變量,我用了很多控制器的函數。
$today = new DateTime('today');
我讀過,聲明全局變量是一個很大的不不,我想擺脫必須在每個函數中聲明它。
聲明這個變量並在所有控制器函數中使用它的最好方法是什麼?
我處於我的網絡發展事業的嬰兒階段,並有一個快速的問題。PHP全球變量或最佳實踐
我有一個變量,我用了很多控制器的函數。
$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";
}
}
如果這是你在你的意見需要的東西,你可以使用:
View::share('today', new DateTime('now'));
這將是提供給所有的意見吧:
Today: {{ $today }}
這並沒有太大的意義給我,但如果你想保持請求之間的變量,你可以使用laravel會話外觀:
Session::put('today', now DateTime('now'));
echo Session::get('today');
不要使用$_SESSION
,除非你真的需要控制會話處理。
View :: share方法正是我所期待的。非常感謝! – cmill02s
您可以使用$_SESSION
變量來存儲數據,並仍然具有全局使用。
session_start();
$_SESSION['today'] = new DateTime('today');
你有沒有聽說過Laravel的Session Facade?除非需要控制會話處理,否則不應在Laravel應用程序中使用'$ _SESSION'。 http://laravel.com/docs/session –
這個變量的上下文是什麼?我很難成像這些數據。 – Brad
你可以給出更多的關於控制器和當前使用這個變量的上下文嗎?您的控制器是否以類的形式到您可以將該值設置爲對象屬性的位置? –