• 締切済み

クラスのメソッド

inidat.phpに$global_a=3;と書いてありますがクラス内でこれが得られません。 <?php require_once 'inidat.php'; class test5 { var $a; function test5() { $this->a = 'inidat-a=' . $global_a; } } ?>

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

外部ファイルを使いさらにグローバルで渡すという 構成はメンテナンス性もわるく、バグの温床に なるかと。 可能な限り引数として渡すことをオススメします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

一般的にPHPで関数の中でグローバル変数を使用しようとする場合。 global $global_a; $this->a = 'inidat-a=' . $global_a; のように、使用する変数がグローバル変数であると(関数の中で)宣言するか $this->a = 'inidat-a=' . $GLOBALS["global_a"]; のように$GLOBALS 配列を使用する必要があります。

関連するQ&A