首页 > 开发 > PHP > 正文

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

2024-05-04 22:37:46
字体:
来源:转载
供稿:网友

添加路由

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表