Laravel 5框架学习之模型、控制器、视图基础流程
投稿:hebedich
本文给大家介绍的是Laravel5框架中模型、控制器、视图的基础流程,其实MVC体系结构模式将一个交互式系统分为三个组件。模型包含核心功能和数据。视图向用户显示信息。控制器处理用户输入。视图和控制器共同构成了用户接口。
添加路由
复制代码 代码如下:
创建控制器
复制代码 代码如下:
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!!!!
显示单个文章
添加显示详细信息的路由
复制代码 代码如下:
其中,{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框架有所帮助。
您可能感兴趣的文章:
- Laravel框架源码解析之入口文件原理分析
- Laravel框架源码解析之反射的使用详解
- Laravel源码解析之路由的使用和示例详解
- 通过源码解析Laravel的依赖注入
- Laravel框架学习笔记(二)项目实战之模型(Models)
- laravel model模型定义实现开启自动管理时间created_at,updated_at
- laravel model模型处理之修改查询或修改字段时的类型格式案例
- Laravel5.1 框架模型工厂ModelFactory用法实例分析
- Laravel模型事件的实现原理详解
- Laravel模型间关系设置分表的方法示例
- laravel学习教程之关联模型
- Laravel框架源码解析之模型Model原理与用法解析