您的当前位置:首页>全部文章>文章详情

【PHP】ThinkPHP 资源路由的简单使用,restfull风格API

CrazyPanda发表于:2024-05-24 23:46:38浏览:258次TAG:


一、资源控制器

资源控制器可以轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如生成index应用的TestR资源控制器使用:

php think make:controller index@TestR
# php think make:controller 应用名@资源控制名

或者使用完整的命名空间生成

php think make:controller app\index\controller\TestR
# php think make:controller app\应用名\controller\资源控制器名

如果只是用于接口开发,可以使用

php think make:controller index@TestR --api
# php think make:controller 应用名@资源控制名 --api

然后你只需要为资源控制器注册一个资源路由:

// Route::resource('自定义的路由名称','控制器名称')
Route::resource('a', 'TestR');

设置后会自动注册7个路由规则,对应资源控制器的7个方法

标识请求类型生成路由规则对应操作方法(默认)
indexGETTestRindex
createGETTestR/createcreate
savePOSTTestRsave
readGETTestR/:idread
editGETTestR/:id/editedit
updatePUTTestR/:idupdate
deleteDELETETestR/:iddelete

二、资源控制器简单使用

首先使用命令,快速创建API资源控制器

php think make:controller index@TestR --api

1.png

接着,去相应的应用中注册一个资源路由

<?php
  use think\facade\Route;
  // restfull 资源路由
  Route::resource('a', 'TestR');

1.png

将资源控制器中的方法写一些输出,用于测试一下restfull风格的资源控制器,这里我只给index和read方法写了方法体,简单测试一下

<?php
declare (strict_types = 1);

namespace app\index\controller;

use think\Request;

class TestR
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //
        dump('index');
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
        dump($id);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}

测试 资源路由的 index 方法,其访问路径为 域名/index.php/路由,因为这里我还没有重写Apache的重写规则,所以index.php入口还是得敲到地址栏中。

1.png

测试 资源路由的 read 方法,此时已经能体现出restful路由的好处了,请求url变得更为简洁和安全。

1.png


猜你喜欢

【PHP】interface接口、abstract抽象类、trait转载合并
1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。 2 .抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。 3 .如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法。如果子类没有全部实现抽象类中的所有抽象方法,那么该子类也是一个抽象类,必须在 class 前面加上 abstract 关键字,并且不能被实例化。
发表于:2025-03-21 浏览:48 TAG: #php
【PHP】php如何创建关联数组表格
随着互联网技术的不断发展,Web 应用程序的开发变得越来越重要。其中,关联数组表格是 Web 应用程序中常用的一种数据结构,它可以将数据按照列与行的方式分组存储,并且可以方便地在前端界面中进行展示。那么,如何使用 PHP 创建关联数组表格呢?本文将为您一一介绍。一、创建关联数组在 PHP 中,我们可以使用关联数组来存储数据,关联数组是以字符串为索引的数组。相较于索引数组(使用数字作为索引的数组),关联数组更加灵活,可以通过索引来直接访问每个元素。下面的示例代码创建了一个关联数组,包含了
发表于:2023-12-18 浏览:331 TAG:
【PHP】php修改文件扩展名
PHP是一门广泛使用的服务器端脚本语言,许多web应用程序都是使用PHP开发的。在开发PHP应用程序时,可能需要对文件进行操作,比如修改文件扩展名。下面将介绍PHP如何修改文件扩展名。在PHP中,可以使用rename()函数来重命名文件。rename()函数接受两个参数:原文件名和新文件名。新文件名可以是原文件名的任何副本,只需要修改文件名的扩展名就可以了。下面是一个简单的例子,展示如何将文件扩展名从“.txt”修改为“.html”:$old_file_name&nbsp;=&amp;nbs
发表于:2023-12-20 浏览:326 TAG:
【PHP】MongoDB介绍
MongoDBA是一个开源的、面向文档的NoSQLA数据库,它提供了高性能、可扩展的数据存储解决方案。MongoDB支持动态查询、高可用性、自动分片等功能,使其成为处理大规模数据集的优选数据库。MongoDB的核心特性包括:面向集合存储:数据被分组存储在集合中,集合类似于RDBMS中的表,但提供了更高的灵活性和无模式存储。无模式结构:存储在集合中的数据是无模式的,即每个文档可以有不同的字段和值类型,这为用户提供了极大的灵活性。高性能:MongoDB利用内存中的数据缓存来提高性能,并支持数据的
发表于:2024-05-28 浏览:294 TAG:
【PHP】php加密算法有哪些
php加密算法有MD5算法、SHA算法、AES算法、RSA算法、Base64编码、DES算法、RC4算法、Blowfish算法等。详细介绍:1、MD5算法,用于将任意长度的数据转换为固定长度的哈希值,在PHP中可以使用md5()函数来计算字符串的MD5哈希值;2、SHA算法,包括SHA-1、SHA-256、SHA-512等,这些算法在PHP中都有对应的函数;3、AES算法等等。本教程操作系统:windows10系统、PHP8.1.3版本、Dell G3电脑。PHP是一种广泛使用的服务器
发表于:2023-12-06 浏览:307 TAG:
【PHP】php滑动验证码的实现原理
随着互联网的迅速发展,验证码成为了互联网安全保障的重要手段。其中,滑动验证码由于其简单易懂、操作方便、安全性高等特点,在实际应用中已经得到了广泛的应用。本文将介绍php滑动验证码的实现原理。一、滑动验证码的定义与应用滑动验证码是一种人机交互的验证码形式,它的基本原理是在界面上展示一张包含某些图片或图形的滑块,用户需要按住滑块进行拖动,直到把滑块拼接到验证码图形相应位置,以此进行验证。该类型的验证码多用于广告、登录、注册和评论等需要用户身份识别的场景。二、php滑动验证码的实现原理ph
发表于:2023-12-28 浏览:332 TAG:
【PHP】PHP接入微信官方支付(native·APIv3)
一、项目介绍两个文件实现微信官方支付(native·APIv3)的发起支付和回调应答功能二、准备资料商户号:需要使用到营业执照注册商户appid:小程序或者订阅号的appidAPIv3秘钥:32位秘钥,APIv2秘钥为16位,不要混淆证书序号:apiclient_key.pem文件中的秘钥,需要将该文件改为txt后缀,然后获取其中的秘钥三、支付代码1.index.php文件&lt;?php //支付配置 $mchid&nbsp;=&nbsp;&#39;&#39;;//微信支付商户号&nbsp;P
发表于:2023-12-01 浏览:1294 TAG:
【PHP】php中向数组增加元素
在PHP编程中,数组是非常常用的一种数据类型。数组的特点在于可以存储一组数据,并且可以通过索引或者键值来访问这些数据。在编写PHP代码时,我们经常需要向数组中增加新的元素。本文将介绍如何在PHP中向数组增加元素。一、向数组尾部添加元素首先,我们来介绍在数组尾部添加新元素的方法。可以使用PHP内置函数array_push()向数组末尾添加一个或者多个元素。语法如下:array_push($array, $value1, $value2, ...)其中,$array表示要添加元素的目标数组
发表于:2023-12-20 浏览:307 TAG:
【PHP】php 判断是否是数组
在PHP中,判断一个变量是否是数组可以使用多种方式。以下将介绍四种判断方法:1. is_array()函数is_array()函数是PHP中判断变量是否是数组的最常用方法。该函数接受一个变量作为参数,如果参数是一个数组,则返回true;反之,返回false。下面是一个使用is_array()函数的例子:$arr&nbsp;=&nbsp;array(&quot;apple&quot;,&quot;banana&quot;,&quot;cherry&quot;); if(is_array(
发表于:2023-12-20 浏览:310 TAG:
【PHP】php 怎么开启错误提醒
PHP是一种被广泛使用的脚本语言,它能够快速地开发Web应用程序。在开发过程中,错误的发现和调试是非常重要的。开启PHP错误提示能够帮助开发者及时发现和解决问题。在本文中,我们将探讨如何开启PHP错误提示。一、错误报告级别在PHP中,错误报告级别分为以下几个层次:E_ERROR:致命错误,会导致脚本停止运行。E_WARNING:警告错误,程序仍然可以继续执行,但可能存在风险。E_NOTICE:警告通知,提示开发者注意某些细节。E_DEPRECATED:开发过程中使用的不推荐使用的方法或
发表于:2023-12-19 浏览:303 TAG: