<code>Route::get('artiles', 'ArticlesController@index');</code>
<code> php artisan make:controller ArticlesController --plain</code>
<code><?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; } }</code></code>
可以在浏览器中看到返回的 JSON 结果,cool!
修改控制器,返回视图
<code> public function index() { $articles = Article::all(); return view('articles.index', compact('articles')); }</code>
创建视图
<code>@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</code>
浏览结果,COOL!!!!
添加显示详细信息的路由
<code>Route::get('articles/{id}', 'ArticlesController@show');</code>
其中,{id}
是参数,表示要显示的文章的 id,修改控制器:
<code> public function show($id) { $article = Article::find($id); //若果找不到文章 if (is_null($article)) { //生产环境 APP_DEBUG=false abort(404); } return view('articles.show', compact('article')); }</code>
laravel 提供了更加方便的功能,修改控制器:
<code> public function show($id) { $article = Article::findOrFail($id); return view('articles.show', compact('article')); }</code>
It's cool.
新建视图
<code>@extends('layout') @section('content') <h1>{{$article->title}}</h1> <article> {{$article->body}} </article> @stop</code>
在浏览器中尝试访问:/articles/1 /articles/2
修改index视图
<code>@extends('layout') @section('content') <h1>Articles</h1> <hr> @foreach($articles as $article) <article> <h2> {{--这种方式可以--}} <a href="/articles/%7B%7B%24article->id%7D%7D">{{$article->title}}</a> {{--这种方式更加灵活,不限制路径--}}<br> <a href="%7B%7Baction('ArticlesController@show',%20%5B%24article->id%5D)%7D%7D">{{$article->title}}</a> {{--还可以使用--}}<br> <a href="%7B%7Burl('/articles',%20%24article->id)%7D%7D">{{$article->title}}</a> </h2> <div class="body">{{$article->body}}</div> </article> @endforeach @stop</code>
以上就介绍了Laravel 5 基础(八)- 模型、控制器、视图基础流程,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。