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伪造referer实例代码
Sep 20 PHP
通过PHP CLI实现简单的数据库实时监控调度
Jul 01 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
PHP 采集获取指定网址的内容
Jan 05 PHP
php join函数应用
May 04 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
PHP+APACHE实现网址伪静态
Feb 22 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
理论讲解python多进程并发编程
2018/02/09 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
python中常见错误及解决方法
2020/06/21 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
离职感谢信
2015/01/21 职场文书
介绍信范文
2015/01/31 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
python 中的jieba分词库
2021/11/23 Python
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技