Mastering the Scope Resolution Operator in PHP: A Complete Guide

Rumman Ansari   Software Engineer   2024-07-18 09:09:09   5577  Share
Subject Syllabus DetailsSubject Details
☰ TContent
☰Fullscreen

In PHP, the scope resolution operator is also called Paamayim Nekudotayim which means "double colon" or "double dot twice" in Hebrew. The double colon (::), is a token that allows access to static, constant, and overridden properties or methods of a class.

PHP: Class Constants

  • A special entity that remains fixed on an individual class basis.
  • Constant names are not preceded by a dollar sign ($) like a normal variable declaration.
  • Interfaces may also include constants.
  • When calling a class constant using the $classname :: constant syntax, the class name can actually be a variable.
  • As of PHP 5.3, you can access a static class constant using a variable reference (Example: className :: $varConstant).

Define and using a constant

Syntax

<span class="pln">

</span><span class="pun">&lt;?</span><span class="pln">php
  </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">MyClass</span><span class="pln">
  </span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">const</span><span class="pln"> constant1 </span><span class="pun">=</span><span class="pln"> </span><span class="str">'PHP Class Constant'</span><span class="pun">;</span><span class="pln">
   </span><span class="kwd">function</span><span class="pln"> </span><span class="typ">PrintConstant</span><span class="pun">()</span><span class="pln"> 
   </span><span class="pun">{</span><span class="pln">
       echo  </span><span class="kwd">self</span><span class="pun">::</span><span class="pln">constant1 </span><span class="pun">.</span><span class="pln"> </span><span class="str">"&lt;br&gt;"</span><span class="pun">;</span><span class="pln">
   </span><span class="pun">}</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">
  echo </span><span class="typ">MyClass</span><span class="pun">::</span><span class="pln">constant1 </span><span class="pun">.</span><span class="pln"> </span><span class="str">"&lt;br&gt;"</span><span class="pun">;</span><span class="pln">
  
  $classname </span><span class="pun">=</span><span class="pln"> </span><span class="str">"MyClass"</span><span class="pun">;</span><span class="pln">
  echo $classname</span><span class="pun">::</span><span class="pln">constant1 </span><span class="pun">.</span><span class="pln"> </span><span class="str">"&lt;br&gt;"</span><span class="pun">;</span><span class="pln"> </span><span class="com">// As of PHP 5.3.0</span><span class="pln">
  $class </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MyClass</span><span class="pun">();</span><span class="pln">
  $class</span><span class="pun">-&gt;</span><span class="typ">PrintConstant</span><span class="pun">();</span><span class="pln">
  echo $class</span><span class="pun">::</span><span class="pln">constant1</span><span class="pun">.</span><span class="str">"&lt;br&gt;"</span><span class="pun">;</span><span class="pln"> </span><span class="com">// As of PHP 5.3.0</span><span class="pln">
 </span><span class="pun">?&gt;</span><span class="pln">


</span>

Output:

The above code will produce the following result-

<span class="pln">
PHP </span><span class="typ">Class</span><span class="pln"> </span><span class="typ">Constant</span><span class="pln">
PHP </span><span class="typ">Class</span><span class="pln"> </span><span class="typ">Constant</span><span class="pln">
PHP </span><span class="typ">Class</span><span class="pln"> </span><span class="typ">Constant</span><span class="pln">
PHP </span><span class="typ">Class</span><span class="pln"> </span><span class="typ">Constant</span><span class="pln">
</span>

No Questions Data Available.
No Program Data.

Stay Ahead of the Curve! Check out these trending topics and sharpen your skills.