How to use PHP static methods and properties_PHP tutorial

WBOY
Release: 2016-07-13 10:33:16
Original
741 people have browsed it

As we all know, the purpose of OOP is to make reasonable use of each work by writing code one by one, copying and copying, inheriting and inheriting, and at the same time, it also facilitates code management. If something goes wrong in any link, go to that link. But sometimes the class we write turns out to be only used once and does not generate multiple instances. Going to new at this time will not only affect efficiency, but also the code will not be concise enough.

So the very emotional php provides us with a convenient and efficient method of static. With it, these are no longer problems.

Now I will tell you about the usage and characteristics of static.

hello world:

class hw{
    public static function hi(){
       return 'Hello World!!!';
    }
}
 
echo hw::hi();  
Copy after login
class hw{
    public function hi(){
       return 'Hello World!!!';
    }
}
 
echo hw::hi();  
Copy after login

As can be seen from the above example, after using static or not using the static attribute, you can directly use the :: method to call directly from the outside. However, for the sake of efficiency and other factors, it is still recommended to use static to limit it.

Static class internal calling method

class foo{
 
private static function c(){
  return 'abcd';
}
 
public static function a(){
  echo self::c();
}
 
}
foo::a();  
Copy after login

If the static keyword is used to restrict the method, it must use self:: to be referenced within this class. The above example has made it very clear.

static attribute

class foo{
public static $a;
public static function a(){
  self::$a='abcd';
}
}
foo::a();
echo foo::$a;  
Copy after login

We can also use the static keyword to limit variables. At this time, the variable will not always maintain the value of the last negative value.

static inheritance and usage

class foo{
public static $a;
public static function a(){
  return 'abcd';
}
}
class oo extends foo{
public static  function a(){
  echo '1234';
}
}
oo::a();  
Copy after login

Static inheritance is the same as the inheritance method of ordinary classes, and there is not much difference.

class foo{
public static $a;
public static function a(){
  return 'abcd';
}
}
class oo extends foo{
public static  function aa(){
  echo parent::a();
}
}
oo::aa();  
Copy after login

There is only a writing difference when using it. It must be the parent:: method to reference the parent class method, and you cannot directly use self:: to use the parent class method. In the following example, no value will be displayed:

class foo{
public static $a;
public static function a(){
  return 'abcd';
}
}
 
class oo extends foo{
public static  function aa(){
  echo self::a();
}
}
oo::a();  
Copy after login

Another simple example

<?php
	class Status {
		public static $ICE = -1;
		public static $WATER = 0;
		public static $VAPOR = 1; 
	}
?>?
<?php
	$exStatus = Status::$ICE;
	if ($exStatus == Status::$ICE)
		echo "Ice";
	else
		echo "Water";
?>  
Copy after login

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752510.htmlTechArticleAs we all know, the purpose of OOP is to write code one by one, copy, copy, copy, inherit, inherit and inherit again. Take advantage of every effort while also facilitating code management. Which ring...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template