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