1

$helperを明示的に宣言することについて質問があります。これはCakePHPBookのサンプルコードです。

<?php
class PostsController extends AppController {
    public $helpers = array('Html', 'Form');

    ..
}

私のコードでは、その宣言はまったくありませんでしたが、アプリは引き続き機能しています。Webフォームを介してデータを保存でき、$ this-> Html-> link()を使用することもできます。

私は本当にその宣言が必要ですか、私が必要としなかった場合の不利な点はありますか?

ありがとうございます。

4

1 に答える 1

1

変数は$helpers、「HTML」および「Form」以外のヘルパーを使用している場合にのみ宣言する必要があります。コアヘルパーの「Html」と「Form」はデフォルトで$helpers配列にロードされるため、これらのみを使用する場合は宣言は不要です。

カスタムヘルパーを追加する場合、または他のコアヘルパーを使用する場合は、$helpers配列を宣言する必要があります。これを行うと、デフォルトのヘルパー配列が上書きされるため、デフォルトを引き続き使用する場合は、必ずデフォルトを再度含める必要があります。

// Default. You do not need to declare this if you 
// only intend to use these helpers.
$helpers = array('HTML', 'Form'); 

// Add 'CustomHelper' to $helpers array. In this case
// HTML and Form must be declared.
$helpers = array('HTML', 'Form', 'Custom');
于 2012-10-14T12:48:06.027 に答える