Home >Backend Development >PHP Tutorial >Laravel 5 framework learning model, controller, view basic process, laravel framework_PHP tutorial
Add routing
Copy code The code is as follows:
Route::get('artiles', 'ArticlesController@index');
Create Controller
Copy code The code is as follows:
php artisan make:controller ArticlesController --plain
Modify controller
<?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; } }
You can see the returned JSON results in the browser, cool!
Modify the controller and return to the view
public function index() { $articles = Article::all(); return view('articles.index', compact('articles')); }
Create View
@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
Browse the results, COOL! ! ! !
Show single article
Add route showing details
Copy code The code is as follows:
Route::get('articles/{id}', 'ArticlesController@show');
Among them, {id} is a parameter, indicating the id of the article to be displayed. Modify the controller:
public function show($id) { $article = Article::find($id); //若果找不到文章 if (is_null($article)) { //生产环境 APP_DEBUG=false abort(404); } return view('articles.show', compact('article')); }
Laravel provides more convenient functions to modify the controller:
public function show($id) { $article = Article::findOrFail($id); return view('articles.show', compact('article')); }
It's cool.
New View
@extends('layout') @section('content') <h1>{{$article->title}}</h1> <article> {{$article->body}} </article> @stop
Try to access: /articles/1 /articles/2
Modify index view
@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
The above is the entire content of this article. I hope it will be helpful to everyone learning the Laravel5 framework.