首页 > 开发 > PHP > 正文

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

2024-05-04 23:34:03
字体:
来源:转载
供稿:网友

本文给大家介绍的是Laravel5框架中模型、控制器、视图的基础流程,其实MVC体系结构模式将一个交互式系统分为三个组件。模型包含核心功能和数据。视图向用户显示信息。控制器处理用户输入。视图和控制器共同构成了用户接口。

添加路由

复制代码代码如下:

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

创建控制器

复制代码代码如下:

php artisan make:controller ArticlesController --plain

修改控制器

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



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

修改控制器,返回视图

 

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

创建视图

 

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

浏览结果,COOL!!!!

显示单个文章

添加显示详细信息的路由

复制代码代码如下:

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

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

 

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

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

 

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

It's cool.

新建视图

 

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

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

修改index视图

 

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

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

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