ASP.NET MVC 6有这样的一个功能,可以在模版中注入服务,从Laravel5.1版本开始也增加了这个服务,直接将服务注入到视图中,但不是每个地方都会需要用到这个功能,不过某些时候还是有些用的。我们来看下.
这次我们跑一个laravel 5.1的项目,现在Laravel install工具已经不支持5.1版本了,我们用 composer
来安装,格式如下:
composer create-project laravel/laravel 项目名称 "版本号"
我们来安装一个5.1的最高版本并用sublime打开它:
composer create-project laravel/laravel Laravel-5-1 "5.1.*" cd Laravel-5-1 subl .
现在比如说,我要统计我博客中所有的文章数,并且要在每张页面上都能显示这个数字,按照我们之前学过的方法,我们会这么写:
我在app目录下建立一个 Stats.php
的类, 代码如下:
<?php namespace App; class Stats { public function posts() { // 假设我一共有250篇文章,返回这个数字 return 250; } }
写下我们的视图文件,建立 stats.blade.php
, 代码如下:
<h1>博客文章数量</h1> {{ $stats->posts() }}
在 welcome.blade.php
中导入它:
<body> <div class="container"> <div class="content"> <div class="title">Laravel 5</div> </div> </div> @include('stats') </body>
在路由中将 stats
返回
Route::get('/', function (App\Stats $stats) { return view('welcome', compact('stats')); });
跑下: http://localhost:8000