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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
php cookie 登录验证示例代码
Mar 16 PHP
php 更新数据库中断的解决方法
Jun 05 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
php实现的mysqldb读写分离操作类示例
Feb 07 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
PHP基于socket实现客户端和服务端通讯功能
Jul 13 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
PHP实现文件上传操作和封装
Mar 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中header和session_start前不能有输出原因分析
2013/01/11 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
jquery异步请求实例代码
2011/06/21 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
用vue写一个日历
2020/11/02 Javascript
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
python中解析json格式文件的方法示例
2017/05/03 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
Python3.5运算符操作实例详解
2019/04/25 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
机电一体化专业推荐信
2013/12/03 职场文书
外国人聘用意向书
2014/04/01 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
师范类求职信
2014/06/21 职场文书
党员承诺书格式范文
2015/04/28 职场文书