私はCakePHP 2.1.1でPHP 5.3.8を使用しています。"global"はCakePHP 2.1.1で動作しません。
これは私のビュー(レイアウトが空で、実際にそれが唯一のビュー自体を出力)
<?php
// $present is not a view variable
$present = 'Hello World!';
class ApplicationsPDF
{
public function CreateApplicationTable()
{
global $present;
exit(var_dump($present));
}
}
$pdf = new ApplicationsPDF();
$pdf->CreateApplicationTable();
?>
出力の代わりにnull
での「Hello World!」です。
このコードをコピーして(ブラウザから直接実行する)単一のファイルに貼り付けると、完全に機能します。
したがって、CakePHPバグでなければなりません。誰もそれを知っていますか?
この重要な問題は以前は検出されていませんが、5.3.9以降の変更履歴には何もありません。私はそれがあなたの地域の環境について何かを想像しなければなりません。 auto_prepend_fileを使って何かを書き留めていますか? –
上記のコードはありませんが、CakePHP 2.1.1から実行されます。私はコードが完璧にスタンドアロンで実行されていることを理解しました。私は質問を編集します。 (私はStackoverflowがバグトラッカーではないことを知っていますが、私はこの質問を削除したくありませんでした) – ComFreek
私はそれがポイントではないことを知っていますが、なぜグローバル変数を使用する必要があると思いますか? '$ present'をコンストラクタに渡してクラス変数を設定してみませんか? –