被烘焙的视图有vsprintf错误

时间:2013-05-18 05:47:20

标签: cakephp cakephp-2.3 printf

所有由蛋糕烘焙创建的视图称为'format'=> __()返回以下错误:

vsprintf(): Too few arguments [CORE/Cake/basics.php, line 565]

我查看了basics.php,第565行。它是函数__()的一部分。代码文档声明此函数的目的是“返回已翻译的字符串(如果找到一个;否则,提交的消息。”

有问题的一行是:

return vsprintf($translated, $args);

我在php文档中查找了vsprintf。 vsprintf接受2个参数。第一个是格式,下一个是值数组。 “ 视图中的函数调用是:

'format' => __('Some Text',true);

我调试了$ translated和$ args。

我得到$translated = 'Some Text'$args = array((int)0=>true)

从我看到的,cakephp将正确数量的参数传递给vsprintf。

如何修复此错误,或者这是一个错误?

我尝试了什么导致错误消失: 将函数调用更改为'format' => __('Some Text') - 省略true。这导致函数只返回$翻译vsprintf()调用。

1 个答案:

答案 0 :(得分:3)

为什么在2.x中使用1.x方法? 你在哪里读到的? 文档说明,你不再需要true作为返回字符串的第二个参数:

'format' => __('Some Text', true)

应该是

'format' => __('Some Text')

PS:这种方式很长一段时间 - 从2.0开始(你使用的是2.3)。