当前位置:Gxlcms > php框架 > Laravel 5框架学习之模型、控制器、视图基础流程

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

时间:2021-07-01 10:21:17 帮助过:34人阅读

添加路由

代码如下:
Route::get('artiles', 'ArticlesController@index');

创建控制器

代码如下:
 php artisan make:controller ArticlesController --plain

修改控制器

  1. <?php namespace App\Http\Controllers;
  2. use App\Article;
  3. use App\Http\Requests;
  4. use App\Http\Controllers\Controller;
  5. use Illuminate\Http\Request;
  6. class ArticlesController extends Controller {
  7. public function index() {
  8. $articles = Article::all();
  9. return $articles;
  10. }
  11. }

可以在浏览器中看到返回的 JSON 结果,cool!

修改控制器,返回视图

  1. public function index() {
  2. $articles = Article::all();
  3. return view('articles.index', compact('articles'));
  4. }

创建视图

  1. @extends('layout')
  2. @section('content')
  3. <h1>Articles</h1>
  4. @foreach($articles as $article)
  5. <article>
  6. <h2>{{$article->title}}</h2>
  7. <div class="body">{{$article->body}}</div>
  8. </article>
  9. @endforeach
  10. @stop

浏览结果,COOL!!!!

显示单个文章

添加显示详细信息的路由

代码如下:
Route::get('articles/{id}', 'ArticlesController@show');

其中,{id} 是参数,表示要显示的文章的 id,修改控制器:

  1. public function show($id) {
  2. $article = Article::find($id);
  3. //若果找不到文章
  4. if (is_null($article))
  5. {
  6. //生产环境 APP_DEBUG=false
  7. abort(404);
  8. }
  9. return view('articles.show', compact('article'));
  10. }

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

  1. public function show($id) {
  2. $article = Article::findOrFail($id);
  3. return view('articles.show', compact('article'));
  4. }

It's cool.

新建视图

  1. @extends('layout')
  2. @section('content')
  3. <h1>{{$article->title}}</h1>
  4. <article>
  5. {{$article->body}}
  6. </article>
  7. @stop

在浏览器中尝试访问:/articles/1 /articles/2

修改index视图

  1. @extends('layout')
  2. @section('content')
  3. <h1>Articles</h1>
  4. <hr/>
  5. @foreach($articles as $article)
  6. <article>
  7. <h2>
  8. {{--这种方式可以--}}
  9. <a href="/articles/{{$article->id}}">{{$article->title}}</a>
  10. {{--这种方式更加灵活,不限制路径--}}<br>
  11. <a href="{{action('ArticlesController@show', [$article->id])}}">{{$article->title}}</a>
  12. {{--还可以使用--}}<br>
  13. <a href="{{url('/articles', $article->id)}}">{{$article->title}}</a>
  14. </h2>
  15. <div class="body">{{$article->body}}</div>
  16. </article>
  17. @endforeach
  18. @stop

以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。

人气教程排行