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 相关文章推荐
PHP面向对象编程快速入门
Oct 09 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
PHP实现linux命令tail -f
Feb 22 PHP
浅谈PHP安全防护之Web攻击
Jan 03 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
Nov 22 PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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/05/27 PHP
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
Python素数检测实例分析
2015/06/15 Python
Python文件的读写和异常代码示例
2017/10/31 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
python图形用户接口实例详解
2019/12/16 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
百日安全活动总结
2014/05/04 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
销售员岗位职责
2015/02/10 职场文书
北京天坛导游词
2015/02/12 职场文书
支教个人总结
2015/03/04 职场文书
运动会通讯稿50字
2015/07/20 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
MySQL查询日期时间
2022/05/15 MySQL