Heim >Backend-Entwicklung >PHP-Tutorial >Lernen Sie das Modell und den Controller des Laravel 5-Frameworks sowie den grundlegenden Ansichtsfluss kennen

Lernen Sie das Modell und den Controller des Laravel 5-Frameworks sowie den grundlegenden Ansichtsfluss kennen

不言
不言Original
2018-06-13 09:57:082530Durchsuche

Dieser Artikel stellt Ihnen den grundlegenden Prozess von Modellen, Controllern und Ansichten im Laravel5-Framework vor. Tatsächlich unterteilt das MVC-Architekturmuster ein interaktives System in drei Komponenten. Modelle enthalten Kernfunktionen und Daten. Ansichten zeigen dem Benutzer Informationen an. Controller verarbeiten Benutzereingaben. Ansichten und Controller bilden zusammen die Benutzeroberfläche.

Route hinzufügen

Route::get('artiles', 'ArticlesController@index');

Controller erstellen

php artisan make:controller ArticlesController --plain

Controller ändern

<?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;
  }

}

Sie können das zurückgegebene JSON-Ergebnis im Browser sehen, cool!

Ändern Sie den Controller und geben Sie die Ansicht zurück

 public function index() {
    $articles = Article::all();

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

Erstellen Sie eine Ansicht

@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

Durchsuchen Sie die Ergebnisse, COOL! ! ! !

Einen einzelnen Artikel anzeigen

Eine Route hinzufügen, um detaillierte Informationen anzuzeigen

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

wobei {id} ein Parameter ist, Geben Sie an, dass Sie die ID des angezeigten Artikels ändern möchten. Ändern Sie den Controller:

  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 bietet praktischere Funktionen. Ändern Sie den Controller:

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

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

Es ist cool.

Neue Ansicht

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

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

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

Versuchen Sie, im Browser auf Folgendes zuzugreifen: /articles/1 /articles/2

Indexansicht ändern

@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

Das ist alles Der gesamte Inhalt, ich hoffe, er wird für das Lernen aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Über den Bindungsbetrieb von Laravel-Framework-Routen und -Controllern

Das obige ist der detaillierte Inhalt vonLernen Sie das Modell und den Controller des Laravel 5-Frameworks sowie den grundlegenden Ansichtsfluss kennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn