Laravel 5框架学习之模型、控制器、视图基础流程

时间:2021-05-26

添加路由

复制代码 代码如下:
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框架有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章