【发布时间】:2014-06-12 05:41:27
【问题描述】:
我知道我可以将 'array' 指定为数组的类型,但是当我想将字典类型传递给使用 Restler 3 的方法时应该使用什么?
传递给 POST 方法的整个“外部”块当然是字典类型,但现在我希望其中一个参数也是字典类型。
【问题讨论】:
我知道我可以将 'array' 指定为数组的类型,但是当我想将字典类型传递给使用 Restler 3 的方法时应该使用什么?
传递给 POST 方法的整个“外部”块当然是字典类型,但现在我希望其中一个参数也是字典类型。
【问题讨论】:
将字典定义为具有公共属性的类
class Object
{
public $property = 'value';
/**
* @var string {@required false}
*/
public $optional = 'value';
//add more properties here
}
让你的 api 方法使用它作为它的参数之一
class Api
{
public function method(Object $obj, $name)
{
//use $obj->property here
}
}
您可以为此目的使用关联数组(带有字符串索引的数组)或stdClass 的实例
return array {
'name' => 'Gargoyle'
'object' => array {
'property' => 'value'
}
};
或
$r = new stdClass();
$r->name = 'Gargoyle';
$r->object = new stdClass();
$r->object->property = 'value';
return $r;
两者都会输出 JSON 对象
【讨论】: