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 相关文章推荐
基于mysql的论坛(5)
Oct 09 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
for循环连续求和、九九乘法表代码
Feb 20 PHP
php定界符
Jun 19 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
PHP实现阳历到农历转换的类实例
Mar 07 PHP
php检测url是否存在的方法
Apr 14 PHP
初识PHP中的Swoole
Apr 05 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
Laravel find in set排序实例
Oct 09 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
adodb与adodb_lite之比较
2006/12/31 PHP
PHP 上传文件大小限制
2009/07/05 PHP
php若干单维数组遍历方法的比较
2011/09/20 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
javascript getElementsByTagName
2011/01/31 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
详解Django中Request对象的相关用法
2015/07/17 Python
学习python类方法与对象方法
2016/03/15 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
Python探索之Metaclass初步了解
2017/10/28 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python 实现生成均匀分布的点
2019/12/05 Python
通过实例解析python描述符原理作用
2020/01/22 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Python接口开发实现步骤详解
2020/04/26 Python
python开发入门——set的使用
2020/09/03 Python
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
毕业生自荐信格式
2014/03/07 职场文书
体育运动口号
2014/06/09 职场文书
服务理念标语
2014/06/18 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
年终工作总结范文2014
2014/11/27 职场文书
经理助理岗位职责
2015/02/02 职场文书
品质保证书格式
2015/02/28 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
springcloud整合seata
2022/05/20 Java/Android