首頁  >  文章  >  後端開發  >  Laravel 5框架的模型和控制器以及視圖基礎流程的學習

Laravel 5框架的模型和控制器以及視圖基礎流程的學習

不言
不言原創
2018-06-13 09:57:082524瀏覽

本文要跟大家介紹的是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(&#39;articles.index&#39;, compact(&#39;articles&#39;));
  }

建立視圖

@extends(&#39;layout&#39;)

@section(&#39;content&#39;)
  <h1>Articles</h1>

  @foreach($articles as $article)
    <article>
      <h2>{{$article->title}}</h2>

      <p class="body">{{$article->body}}</p>
    </article>
  @endforeach
@stop

瀏覽結果,COOL! ! ! !

顯示單一文章

新增顯示詳細資訊的路由

Route::get(&#39;articles/{id}&#39;, &#39;ArticlesController@show&#39;);

其中,{id}​​ 是參數,表示要顯示的文章的id,修改控制器:

  public function show($id) {
    $article = Article::find($id);

    //若果找不到文章
    if (is_null($article))
    {
      //生产环境 APP_DEBUG=false
      abort(404);
    }
    return view(&#39;articles.show&#39;, compact(&#39;article&#39;));
  }

laravel 提供了更方便的功能,修改控制器:

  public function show($id) {
    $article = Article::findOrFail($id);

    return view(&#39;articles.show&#39;, compact(&#39;article&#39;));
  }

It's cool.

新視圖

@extends(&#39;layout&#39;)

@section(&#39;content&#39;)
  <h1>{{$article->title}}</h1>

  <article>
    {{$article->body}}
  </article>
@stop

在瀏覽器中嘗試存取:/articles/1 /articles/2

修改index檢視

@extends(&#39;layout&#39;)

@section(&#39;content&#39;)
  <h1>Articles</h1>
  <hr/>
  @foreach($articles as $article)
    <article>
      <h2>
        {{--这种方式可以--}}
        <a href="/articles/{{$article->id}}">{{$article->title}}</a>
        {{--这种方式更加灵活,不限制路径--}}<br>
        <a href="{{action(&#39;ArticlesController@show&#39;, [$article->id])}}">{{$article->title}}</a>
        {{--还可以使用--}}<br>
        <a href="{{url(&#39;/articles&#39;, $article->id)}}">{{$article->title}}</a>
      </h2>

      <p class="body">{{$article->body}}</p>
    </article>
  @endforeach
@stop

以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!

相關推薦:

關於Laravel框架路由和控制器的綁定操作

#

以上是Laravel 5框架的模型和控制器以及視圖基礎流程的學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn