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 相关文章推荐
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
PHP Curl多线程原理实例详解
Nov 06 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
PHP发送短信代码分享
Aug 11 PHP
功能强大的PHP发邮件类
Aug 29 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
php封装的mongodb操作类代码
Aug 06 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 23 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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 auth_http类库进行身份效验
2009/03/19 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
JS字符串的切分用法实例
2016/02/22 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
微信小程序实现预览图片功能
2020/10/22 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
Python for循环与range函数的使用详解
2019/03/23 Python
python3对接mysql数据库实例详解
2019/04/30 Python
python设置随机种子实例讲解
2019/09/12 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
Python虚拟环境venv用法详解
2020/05/25 Python
Python 实现国产SM3加密算法的示例代码
2020/09/21 Python
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
华为C++笔试题
2014/08/05 面试题
六查六看剖析材料
2014/02/15 职场文书
党员公开承诺事项
2014/03/25 职场文书
期中考试反思800字
2014/05/01 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
机关作风建设整改方案
2014/10/27 职场文书
跳高加油稿
2015/07/21 职场文书
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers
python中redis包操作数据库的教程
2022/04/19 Python