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实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
php验证手机号码
Nov 11 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
Feb 26 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
PHP 文件写入和读取操作实例详解【必看篇】
Nov 04 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
django rest framework 自定义返回方式
2020/07/12 Python
Python如何重新加载模块
2020/07/29 Python
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
求职简历自荐信
2013/10/20 职场文书
班组长岗位职责范本
2014/01/05 职场文书
结婚典礼证婚词
2014/01/08 职场文书
大学生表扬信范文
2014/01/09 职场文书
九年级体育教学反思
2014/01/23 职场文书
出国英文推荐信
2014/05/10 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书