First of all, we have to make it clear that self points to the class itself, that is, the PHP self keyword does not point to any instantiated object. Generally, self is used Points to a static variable in the class.
- < ?php
- class Counter
- {
- //Define attributes, including a static variable
- private static $firstCount = 0;
- private $lastCount;
- //Constructor
- function __construct()
- {
- $this->lastCount = ++selft
::$firstCount;
//Use the PHP self keyword to call static variables. When using self
, you must use:: (field operation symbol) - }
- //Print the last count value
-
function printLastCount()
- {
-
print( $this-> lastCount );
- }
- }
- //Instantiated object
-
$countObject = newCounter(); //Output 1
- ?>
-
We only need to pay attention to two places here, lines 6 and 12. We defined a static variable $firstCount on the second line, and the initial value is 0. Then we called this value on line 12, using the PHP self keyword to call it, and using "::" to connect in the middle. It's what we call a domain operator. Then what we call at this time is the static variable $frestCount defined by the class itself. Our static variable has nothing to do with the instance of the following object, it is only related to the class, then I call the class itself, then we You cannot use this to reference, you can use the PHP self keyword to reference, because self points to the class itself and has nothing to do with any object instance. In other words, if there are static members in our class, we must also use self to call them.
http://www.bkjia.com/PHPjc/445966.html
www.bkjia.com
true
http: //www.bkjia.com/PHPjc/445966.html
TechArticle
First of all, we have to make it clear that self points to the class itself, that is, the PHP self keyword does not point to any existing instance. ized object, generally self is used to point to static variables in the class. ?php...