1

私はクラスにかなり慣れていないので、これに関するある種のチュートリアルをオンラインで探していましたが、残念ながら解決策を見つけることができませんでした。あなたたちが私に与えることができるどんな助けでも大いに感謝されるでしょう。

2つのファイルがあります。

1)variables.inc.php:

$myvar = "hello world";

2)myclass.php:

include("variables.inc.php");
class myClass {

    function doSomething() {
        echo "myvar: $myvar";
    }
}

問題: $myvar空を返します。function doSomething() {との間にこの行を追加してみましecho...: global $myvar; たが、そのようにも機能していないようです。助言がありますか?

4

3 に答える 3

2
function doSomething() {
  global $myvar;
  echo "myvar: $myvar";  
}  
于 2011-02-06T17:12:41.413 に答える
2

$myvarグローバルスコープで定義されます。

本当にアクセスする必要がある場合は、

function doSomething() { global $myvar; echo "myvar: $myvar"; }

ただし、他のスコープでのグローバル変数の使用は悪い習慣と見なされます。

詳細な説明については、公式PHPマニュアルの変数スコープの章を参照してください。

于 2011-02-06T17:10:51.583 に答える
0

globalクラスでは絶対に使用しないでください。

クラスに変数が必要な場合は、メソッドまたはコンストラクターに変数を挿入します。

class myClass {

function doSomething($myvar) { echo "myvar: $myvar"; }

}

$obj = new myClass;
$obj->doSomething($myvar);
于 2011-02-06T17:13:22.263 に答える