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五种设计模式小结
Mar 23 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
PHP文件缓存类实现代码
Oct 26 PHP
总结对比php中的多种序列化
Aug 28 PHP
php 常用的系统函数
Feb 07 PHP
CodeIgniter框架基本增删改查操作示例
Mar 23 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 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正则验证Email的方法
2015/06/15 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
Dom操作之兼容技巧分享
2011/09/20 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
详解python单例模式与metaclass
2016/01/15 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
Python阶乘求和的代码详解
2020/02/14 Python
机械系毕业生求职信
2014/05/28 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
2014年党委工作总结
2014/11/22 职场文书
欢迎词怎么写
2015/01/23 职场文书
作弊检讨书
2015/01/27 职场文书
户外活动总结
2015/02/04 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers