2016-10-24 6 views
-1

PHPには、すべてのメソッド、変数、オブジェクト、関数(すべてのPHP Thinds)が配置されているグローバルオブジェクトがありますか?このようなJavaScriptのオブジェクトはウィンドウと呼ばれます。JavaScriptにはグローバルオブジェクトがいくつかありますか(JavaScriptのウィンドウオブジェクトのようなもの)ですか?

私は正確にPHPプログラミングが何であるか理解したいと思います。たとえば、JavaScriptのプログラミング(私が理解しているように)は、BOMツリーのリーフオブジェクトを使った操作です。「BOMの1つのリーフオブジェクトを取って、このリーフオブジェクトで何かをしています。結果はBOMの別のリーフオブジェクトになります。

私が扱っているデータの構造を理解したいと思います。たとえば、$ x = 10と書いているとします。 - 変数が作成されます。それはどこに敷設されていますか?何らかのオブジェクトに接続する必要があります。

+0

いいえ、それはありません –

+0

JavaScriptにウィンドウオブジェクトがある必要はありません。 –

+1

いいえ、そうではありません。 '$ x = 10'と書くと、その変数に' $ x'でアクセスすることができます。別の暗黙の 'window [$ x]'はありません。そうである必要はありません。 – deceze

答えて

0

私はあなたにPHPでの範囲の小さなツアーを提供しようとします。

これは、すべてのプログラム言語とまったく同じことです。実行スコープ内でのみvarにアクセスできます。

ケース1:

function bar() { 
    $x = 10; // $x can be used in bar function only 
} 

ケース2:

class foo() { 
    private $x; 

    //$x can be used in every foo class methods by using $this->$x 

} 

ケース3:

class Foo() { 
    public $x; 
    //$x $foo = new Foo(); $foo->x; 
    // **everywhere = everywhere you are including the file which defines Foo class 
    public static $y; 
    //$y can be used everywhere by using : Foo::y 
} 

そして終了するには、グローバル変数を定義することができます。どこからでもアクセスできます:

希望するものは、PHPの変数とは何ですか?

PS:javascriptのウィンドウオブジェクトは、「すべてのメソッド、変数、オブジェクト、関数...」が定義されているオブジェクトではありません。これは、ブラウザタブのいくつかのものを管理するオブジェクトです。

+0

*「すべての言語と同じように...実行範囲内のみ」* *咳咳* [動的スコープ](https://en.wikipedia.org/wiki/Scope_(computer_science)#Lexical_scope_vs._dynamic_scope)*咳咳* 'private'と' public'は実際にスコープとは関係がありませんが、別の概念である* visibility *を持っています。 - 'define()'は "グローバル"を定義しませんが、それは**定数**を定義します。 – deceze

+0

また、 'public $ x'は' Foo :: x'でアクセスできません。 – deceze

+0

あなたに同意します、申し訳ありませんが、varsとは何かを説明するにはあまり時間がありませんでした..このように定義された情報定数については、グローバルでもあります:http://php.net/manual/en/language.constants.phpしかし、はいそれは一定です。 –

関連する問題