Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Restler可选字符串参数_Php_Restler - Fatal编程技术网

Php Restler可选字符串参数

Php Restler可选字符串参数,php,restler,Php,Restler,我想在Restler补丁方法中将一个参数标记为可选的,它的类型是string,但我不知道如何做到这一点。如果我将$description=null作为参数,则路由器出现故障,并显示一条消息,说明description是必需的参数 我也不能只使用空字符串,因为这是一种补丁类型的方法,所以我必须能够区分想要通过传递空字符串来清空描述的人和没有传递任何更新的空值的人。保持$description到null效果很好。只需确保所有可选参数都显示在api方法中所需参数之后。这是一个php限制 下面是我如何测

我想在Restler补丁方法中将一个参数标记为可选的,它的类型是string,但我不知道如何做到这一点。如果我将
$description=null
作为参数,则路由器出现故障,并显示一条消息,说明
description
是必需的参数


我也不能只使用空字符串,因为这是一种补丁类型的方法,所以我必须能够区分想要通过传递空字符串来清空描述的人和没有传递任何更新的空值的人。

保持
$description
null
效果很好。只需确保所有可选参数都显示在api方法中所需参数之后。这是一个php限制

下面是我如何测试它的 创建一个基本的restler项目。然后编辑rest/src/Home.php以添加补丁方法

<?php

class Home
{
    public function index()
    {
        return [
            'success' => [
                'code'    => 200,
                'message' => 'Restler is up and running!',
            ],
        ];
    }

    public function patch($name, $description = null)
    {
        return compact('name', 'description');
    }
}
api结果是

{
  "name": "arul",
  "description": null
}

这是预期的结果

谢谢,阿鲁尔。我错误地在这个参数之后添加了非可选参数。您关于PHP需求的提醒解决了我的问题。
{
  "name": "arul"
}
{
  "name": "arul",
  "description": null
}