在Symfony 3 Parameterbags

时间:2016-05-31 12:18:22

标签: php symfony

在Symfony 2中,您可以执行以下操作来获取嵌套查询字符串数据:

// mixed getInt(string lookup, mixed default, bool deep)
$request->query->getInt('page[number]', 1, true);

在Symfony 3中,看起来已经删除了检索深层嵌套数据的能力,有利于检索顶级数组并直接获取数据。

// mixed get(string key, mixed default)
(int) $request->query->get('page', ['number' => 1])['number']

任何人都可以确认我在这里没有遗漏任何内容,现在这是在参数包中检索嵌套数据的首选方法吗?

我确实查看了3.1文档,所有示例都引用了数组的检索,没有选项来查询深层嵌套数据。

1 个答案:

答案 0 :(得分:1)

您可以使用PropertyAccess component

$query = $request->query->all();

$accessor = PropertyAccess::createPropertyAccessor();

$page = (int) $accessor->getValue($query, '[page][number]');