首页  >  文章  >  后端开发  >  Laravel 5 基础(八)- 模型、控制器、视图基础流程

Laravel 5 基础(八)- 模型、控制器、视图基础流程

WBOY
WBOY原创
2016-08-08 09:26:47855浏览
  • 添加路由
<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教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn