1.選擇:使用AppServiceProvider
在這種情況下$年可用於所有視圖!
<?php
namespace App\Providers;
use Carbon;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
view()->share('year', Carbon::parse()->year);
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
2.選項:使用View Composer
在這種情況下,該變量是隻提供給在你需要它的意見。
不要忘了添加新創建的提供商到config/app.php
!
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Carbon;
class ComposerServiceProvider extends ServiceProvider
{
/**
* Register bindings in the container.
*
* @return void
*/
public function boot()
{
// Using Closure based composers...
view()->composer('pages.*', function ($view) {
$view->with('year', Carbon::parse()->year);
});
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
3.使用刀片@inject-method
在需要一年你可以注入碳例如像這樣的觀點:
@inject('carbon', 'Carbon\Carbon')
{{ $carbon->parse()->year }}
來源
2015-10-05 07:03:51
Tim
您好即時通訊新laravel。我如何使用第一個選項。我是否需要在pagesController.php中聲明一些內容,導致出現「Undefined variable:year」的錯誤。 P.Sim使用laravel 5 – Nixxx27
如果您已將代碼添加到您所描述的「AppServiceProvider」中,則無需執行其他任何操作。什麼是拋出這個錯誤? – Tim
我使用這個.. public function about() { return $ year; },錯誤是Undefined variable:year。我複製並粘貼你的代碼。 – Nixxx27