0

クラス全体でグローバル変数を使用しようとしています。

基本的に、関数render($html, $pageTitle);が呼び出されます。

そのクラス内には、buildHeader($pageTitle)次のような関数が存在します。

private static function addHeader($pageTitle){
    global $pageTitle;
    $html = self::capture_output('header.inc');
    return $html;
}

header.inc 内で、変数$pageTitleをグローバルとして定義しますが、変数をエコーし​​ません。

また、変数が定義/初期化されていないというエラーも発生しません。

この関数は、ページ コンテンツの構築renderなどのためにプライベート メソッドを呼び出します。addHeader

4

1 に答える 1

0

$pageTitleを関数の引数でカバーします。また、コードをより明確にし、そのような競合を回避するのに役立つ使用する$_GLOBALS['pageTitle'];代わりに、使用する必要があります。また、効果がない場所に保管するのではなく、使用されているように見える場所に移動する方globalがよいと思います。global $pageTitle;capture_output()addHeader()

于 2012-11-17T18:26:21.240 に答える