本文要跟大家介紹的是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> <p class="body">{{$article->body}}</p> </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> <p class="body">{{$article->body}}</p> </article> @endforeach @stop
以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!
相關推薦:
#以上是Laravel 5框架的模型和控制器以及視圖基礎流程的學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!