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 相关文章推荐
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
8个必备的PHP功能实例代码
Oct 27 PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 PHP
PHP文件操作实例总结
Sep 27 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 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
PHP 可阅读随机字符串代码
2010/05/26 PHP
php mail to 配置详解
2014/01/16 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
jquery插件之easing使用
2010/08/19 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
Python实现简单字典树的方法
2016/04/29 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
在python中bool函数的取值方法
2018/11/01 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
python能在浏览器能运行吗
2020/06/17 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
结构工程研究生求职信
2013/10/13 职场文书
人事主管的岗位职责
2013/11/16 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
保密承诺书范文
2014/03/27 职场文书
刑事撤诉申请书
2015/05/18 职场文书