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


Posted in PHP onApril 08, 2015

添加路由

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框架有所帮助。

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(4)
Oct 09 PHP
给php新手谈谈我的学习心得
Feb 25 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
Smarty变量调节器失效的解决办法
Aug 20 PHP
php 获取文件行数的方法总结
Oct 11 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
php实现文件管理与基础功能操作
Mar 21 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP xpath()函数讲解
Feb 11 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 #PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 #PHP
Laravel 5框架学习之环境与配置
Apr 08 #PHP
Laravel 5框架学习之Blade 简介
Apr 08 #PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 #PHP
Laravel 5框架学习之向视图传送数据
Apr 08 #PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 #PHP
You might like
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
php通过session防url攻击方法
2014/12/10 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
JQuery 入门实例1
2009/06/25 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
Python常用数据分析模块原理解析
2020/07/20 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
英国香水店:The Perfume Shop
2017/03/27 全球购物
普通员工辞职信
2014/01/17 职场文书
同学会主持词
2014/03/18 职场文书
工地宣传标语
2014/06/18 职场文书
单位授权委托书范文
2014/08/02 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
浅谈Python中对象是如何被调用的
2022/04/06 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js