本文给大家介绍的是Laravel5框架中模型、控制器、视图的基础流程,其实MVC体系结构模式将一个交互式系统分为三个组件。模型包含核心功能和数据。视图向用户显示信息。控制器处理用户输入。视图和控制器共同构成了用户接口。
添加路由
复制代码代码如下:
Route::get('artiles','ArticlesController@index');
创建控制器
复制代码代码如下:
php artisan make:controller ArticlesController --plain
修改控制器
- <?php namespace App/Http/Controllers;
- use App/Article;
- use App/Http/Requests;
- use App/Http/Controllers/Controller;
- use Illuminate/Http/Request;
- class ArticlesController extends Controller {
- public function index() {
- $articles = Article::all();
- return $articles;
- }
- }
可以在浏览器中看到返回的 JSON 结果,cool!
修改控制器,返回视图
- public function index() {
- $articles = Article::all();
- return view('articles.index', compact('articles'));
- }
创建视图
- @extends('layout')
- @section('content')
- <h1>Articles</h1>
- @foreach($articles as $article)
- <article>
- <h2>{{$article->title}}</h2>
- <div class="body">{{$article->body}}</div>
- </article>
- @endforeach
- @stop
浏览结果,COOL!!!!
显示单个文章
添加显示详细信息的路由
复制代码代码如下:
Route::get('articles/{id}','ArticlesController@show');
其中,{id} 是参数,表示要显示的文章的 id,修改控制器:
- public function show($id) {
- $article = Article::find($id);
- //若果找不到文章
- if (is_null($article))
- {
- //生产环境 APP_DEBUG=false
- abort(404);
- }
- return view('articles.show', compact('article'));
- }
laravel 提供了更加方便的功能,修改控制器:
- public function show($id) {
- $article = Article::findOrFail($id);
- return view('articles.show', compact('article'));
- }
It's cool.
新建视图
- @extends('layout')
- @section('content')
- <h1>{{$article->title}}</h1>
- <article>
- {{$article->body}}
- </article>
- @stop
在浏览器中尝试访问:/articles/1 /articles/2
修改index视图
- @extends('layout')
- @section('content')
- <h1>Articles</h1>
- <hr/>
- @foreach($articles as $article)
- <article>
- <h2>
- {{--这种方式可以--}}
- <a href="/articles/{{$article->id}}">{{$article->title}}</a>
- {{--这种方式更加灵活,不限制路径--}}<br>
- <a href="{{action('ArticlesController@show', [$article->id])}}">{{$article->title}}</a>
- {{--还可以使用--}}<br>
- <a href="{{url('/articles', $article->id)}}">{{$article->title}}</a>
- </h2>
- <div class="body">{{$article->body}}</div>
- </article>
- @endforeach
- @stop
以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。
新闻热点
疑难解答