laravel框架中控制器的创建和使用方法分析


Posted in PHP onNovember 23, 2019

本文实例讲述了laravel框架中控制器的创建和使用方法。分享给大家供大家参考,具体如下:

laravel中我们可以使用 artisan 命令来帮助我们创建控制器文件。

php artisan make:controller TestController

TestController 控制器名我们可以任意指定。文件默认会创建在 app\Http\Controllers 目录下。

打开控制器文件,我们就可以添加自已的方法了。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
  public function test()
  {
    echo 'test...';
  }
}

在路由文件 routes/web.php 中配置路由就可以访问了。

Route::get('/test', 'TestController@test');

如何获取用户的输入,一般推荐通过依赖注入的方式来获取。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
  public function test(Request $request)
  {
    //获取所有请求数据
    $data = $request->all();
    //获取指定请求数据
    $id = $request->input('id');
  }
}

laravel中为我们编写 restful 风格的代码,提供了简单方式,只需在创建控制器命令后面加上 --resource 选项。

php artisan make:controller OrderController --resource

laravel帮我们创建指定的方法,各自表示不同的意义和作用。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class OrderController extends Controller
{
  /**
   * Display a listing of the resource.
   *
   * @return \Illuminate\Http\Response
   */
  public function index()
  {
    //
  }
  /**
   * Show the form for creating a new resource.
   *
   * @return \Illuminate\Http\Response
   */
  public function create()
  {
    //
  }
  /**
   * Store a newly created resource in storage.
   *
   * @param \Illuminate\Http\Request $request
   * @return \Illuminate\Http\Response
   */
  public function store(Request $request)
  {
    //
  }
  /**
   * Display the specified resource.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function show($id)
  {
    //
  }
  /**
   * Show the form for editing the specified resource.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function edit($id)
  {
    //
  }
  /**
   * Update the specified resource in storage.
   *
   * @param \Illuminate\Http\Request $request
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function update(Request $request, $id)
  {
    //
  }
  /**
   * Remove the specified resource from storage.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function destroy($id)
  {
    //
  }
}

具体方法的作用如下所示:

HTTP 方法 URI 控制器方法 路由名称 作用描述
GET /order index order.index 显示所有订单列表
GET /order/create create order.create 显示创建订单页面
POST /order store order.store 接收提交数据,创建订单
GET /order/{id} show order.show 显示单个订单信息
GET /order/{id}/edit edit order.edit 显示修改订单页面
PUT/PATCH /order/{id} update order.update 接收提交数据,修改订单
DELETE /order/{id} destroy order.destroy 删除订单

最后我们通过 Route::resource() 来绑定上面的所有路由。

Route::resource('order', 'OrderController');

我们也可以通过命令查看,绑定的路由列表。

php artisan route:list

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
如何分别全角和半角以避免乱码
Oct 09 PHP
动易数据转成dedecms的php程序
Apr 07 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
php json_encode奇怪问题说明
Sep 27 PHP
PHP empty函数报错解决办法
Mar 06 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
php使用Jpgraph绘制饼状图的方法
Jun 10 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
php实现word转html的方法
Jan 22 PHP
PHP读书笔记_运算符详解
Jul 01 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 #PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 #PHP
laravel框架创建授权策略实例分析
Nov 22 #PHP
laravel框架语言包拓展实现方法分析
Nov 22 #PHP
laravel框架邮箱认证实现方法详解
Nov 22 #PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 #PHP
PHP实现微信提现功能(微信商城)
Nov 21 #PHP
You might like
php上传大文件失败的原因及应对策略
2015/10/20 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
python设置检查点简单实现代码
2014/07/01 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Python使用OpenPyXL处理Excel表格
2020/07/02 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
一道SQL面试题
2012/12/31 面试题
优秀毕业生自我鉴定
2014/01/19 职场文书
运动会稿件100字
2014/02/21 职场文书
铲车司机岗位职责
2014/03/15 职场文书
幼儿园开学寄语
2014/04/03 职场文书
四风查摆剖析材料
2014/10/10 职场文书
医院护士工作检讨书
2014/10/26 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
家长意见书
2015/06/04 职场文书
闪闪的红星观后感
2015/06/08 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫