PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPスコープ解決演算子(::)


はじめに

PHPでは、二重コロン :: スコープ解決演算子として定義されています 。これは、クラスレベルで定義された定数、プロパティ、およびメソッドにアクセスする場合に使用されます。クラス定義の外部でこれらの項目を参照する場合、クラスの名前がスコープ解決演算子とともに使用されます。この演算子は、 Paamayim Nekudotayimとも呼ばれます。 、これはヘブライ語で二重コロンを意味します。

構文

<?php
class A{
   const PI=3.142;
   static $x=10;
}
echo A::PI;
echo A::$x;
$var='A';
echo $var::PI;
echo $var::$x;
?>

クラス内

任意のメソッド内のクラスレベルのアイテムにアクセスするには、キーワード- self 使用されます

<?php
class A{
   const PI=3.142;
   static $x=10;
   static function show(){
      echo self::PI . self::$x;
   }
}
A::show();
?>

子クラスで

親クラスのメソッドが子クラスによってオーバーライドされ、対応する親メソッドを呼び出す必要がある場合は、接頭辞としてを付ける必要があります。 キーワードとスコープ解決演算子

<?php
class testclass{
   public function sayhello(){
      echo "Hello World\n";
   }
}
class myclass extends testclass{
   public function sayhello(){
      parent::sayhello();
      echo "Hello PHP";
   }
}
$obj=new myclass();
$obj->sayhello();
?>

出力

これにより、次の出力が生成されます-

Hello World
Hello PHP

  1. C#のスコープ解決演算子とは何ですか?

    C#のスコープ解決演算子は、C++とは異なる意味を持っています。 C ++では::はグローバル変数に使用されますが、C#では名前空間に関連しています。 異なる名前空間で識別子を共有するタイプがある場合、それらを識別するには、スコープ解決演算子を使用します。 たとえば、System.Consoleクラスを参照するには、スコープ解決演算子でグローバル名前空間エイリアスを使用します。 global::System.Console 例 using myAlias = System.Collections; namespace Program {    class Demo {

  2. C#のスコープ解決演算子(::)はどこで使用しますか?

    C ++では、スコープ解決演算子、つまり::がグローバル変数に使用されますが、C#では名前空間に関連しています。 異なる名前空間で識別子を共有するタイプがある場合、それらを識別するには、スコープ解決演算子を使用します。 たとえば、System.Consoleクラスを参照するには、スコープ解決演算子-を指定してグローバル名前空間エイリアスを使用します。 global::System.Console 例を見てみましょう- 例 using myAlias = System.Collections; namespace Program {    class Demo { &