PHP: Scope Resolution Operator (::) - Manual in Deutsh
PHP: Scope Resolution Operator (::) - Manual in French
PHP: Scope Resolution Operator (::) - Manual in Polish

You Are At PHP: Scope Resolution Operator (::) - Manual Area


recent searches:
include functions , variable functions , post functions...




If you are new to PHP or just need to refresh your skills, this is the place to start. This series of tutorials will give you the basic knowledge you will need to create a simple PHP website.

PHP is a reflective programming language originally designed for producing dynamic web pages.[1] PHP is used mainly in server-side scripting, but can be used from a command line interface or in standalone graphical applications. Textual User Interfaces can also be created using ncurses.

PHP Manual
PrevChapter 19. Classes and Objects (PHP 5)Next

Scope Resolution Operator (::)

The Scope Resolution Operator (also called Paamayim Nekudotayim) or in simpler terms, the double colon, is a token that allows access to static, constant, and overridden members or methods of a class.

When referencing these items from outside the class definition, use the name of the class.

Paamayim Nekudotayim would, at first, seem like a strange choice for naming a double-colon. However, while writing the Zend Engine 0.5 (which powers PHP 3), that's what the Zend team decided to call it. It actually does mean double-colon - in Hebrew!

Example 19-12. :: from outside the class definition

<?php
class MyClass {
    const
CONST_VALUE = 'A constant value';
}

echo
MyClass::CONST_VALUE;
?>

Two special keywords self and parent are used to access members or methods from inside the class definition.

Example 19-13. :: from inside the class definition

<?php
class OtherClass extends MyClass
{
    
public static $my_static = 'static var';

    
public static function doubleColon() {
        echo
parent::CONST_VALUE . "\n";
        echo
self::$my_static . "\n";
    }
}

OtherClass::doubleColon();
?>

When an extending class overrides the parents definition of a method, PHP will not call the parent's method. It's up to the extended class on whether or not the parent's method is called. This also applies to Constructors and Destructors, Overloading, and Magic method definitions.

Example 19-14. Calling a parent's method

<?php
class MyClass
{
    
protected function myFunc() {
        echo
"MyClass::myFunc()\n";
    }
}

class
OtherClass extends MyClass
{
    
// Override parent's definition
    
public function myFunc()
    {
        
// But still call the parent function
        
parent::myFunc();
        echo
"OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

bes
super efektowne kasetony reklamowe najlepsza reklama dla Ciebie
Super norma expert Norma expert dla ciebie
wydruki duży format duży format lublin skanowanie dokumentacji duży A0
plakaty duży format plakaty lublin duży format plakatay A0,A1,A2,A

Another Useful functions:


language.oop5.visibility | language.oop5.typehinting | language.oop5.static | language.oop5.reflection | language.oop5.patterns | language.oop5.paamayim-nekudotayim | language.oop5.overloading | language.oop5.object-comparison | language.oop5.magic | language.oop5.iterations | language.oop5.interfaces | language.oop5 | language.oop5.final | language.oop5.decon | language.oop5.constants | language.oop5.cloning | language.oop5.basic | language.oop5.autoload | language.oop5.abstract |


PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. If you are new to PHP and want to get some idea of how it works, try the introductory tutorial. After that, check out the online manual, and the example archive sites and some of the other resources available in the links section.