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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
一个好用的分页函数
Nov 16 PHP
Apache2 httpd.conf 中文版
Dec 06 PHP
手把手教你使用DedeCms V3的在线采集图文教程
Apr 03 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
配置php网页显示各种语法错误
Sep 23 PHP
PHP中redis的用法深入解析
Feb 20 PHP
Yii中CGridView关联表搜索排序方法实例详解
Dec 03 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
设计模式的基本要素是什么
2014/04/21 面试题
解释i节点在文件系统中的作用
2013/11/26 面试题
庆七一主持词
2015/06/29 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL