0

Cake Baker によって作成され、'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()呼び出しをスキップして $translated を返すだけになります。

4

1 に答える 1