Home > Backend Development > PHP Tutorial > Learning about the model and controller of the Laravel 5 framework and the basic flow of views

Learning about the model and controller of the Laravel 5 framework and the basic flow of views

不言
Release: 2023-03-31 21:10:02
Original
2554 people have browsed it

This article introduces to you the basic process of models, controllers, and views in the Laravel5 framework. In fact, the MVC architecture pattern divides an interactive system into three components. Models contain core functionality and data. Views display information to the user. Controllers handle user input. Views and controllers together form the user interface.

Add route

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

Create controller

php artisan make:controller ArticlesController --plain
Copy after login

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

}
Copy after login

You can see the returned JSON result in the browser, cool!

Modify the controller and return the view

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

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

Create the view

@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
Copy after login

Browse the results, COOL! ! ! !

Display a single article

Add a route to display detailed information

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

Among them, {id} is a parameter, indicating that you want The id of the displayed article, modify the 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;));
  }
Copy after login

laravel provides more convenient functions, modify the controller:

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

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

It's cool.

New view

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

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

  <article>
    {{$article->body}}
  </article>
@stop
Copy after login

Try to access: /articles/1 /articles/2

Modify index view

@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
Copy after login

The above is this article The entire content, I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

About the binding operation of Laravel framework routing and controller

The above is the detailed content of Learning about the model and controller of the Laravel 5 framework and the basic flow of views. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template