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 相关文章推荐
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
php实现网站插件机制的方法
Nov 10 PHP
php中几种常见安全设置详解
Apr 06 PHP
深入PHP异步执行的详解
Jun 03 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
PHP实现多文件上传的方法
Jul 08 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
Mar 07 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Django的CVB实例详解
2020/02/10 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python list和str互转的实现示例
2020/11/16 Python
餐厅总经理岗位职责
2013/12/31 职场文书
企业新年寄语
2014/04/04 职场文书
生活部的活动方案
2014/08/19 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
培训班通知
2015/04/25 职场文书
2015年教务主任工作总结
2015/07/22 职场文书