Method and variable
method in PHP is very useful features. Static function and
variable breaks a lot of power available to 0bject oriented programming.
These methods can be directly accessible without creating any object of class.
To declare a static method or static variable use static keyword. Your
class will be static only if all the methods and properties are static. Static
method and properties are treated as public by default (if there is no visibility
Static functions may be stateless. One of the reason
using static methods is that if they don’t use state, they will work local
variables supplied as parameter then should be static.
properties and methods are accessed from outside the class scope then use the
class name followed by two colon (::) and then the name of the
a Dynamic method statically
Calling a dynamic method statically will generates a
E_STRICT error, as dynamic method assume to be in object and with static it
cannot be possible as in static class object cannot made. Methods to be called
statistically don’t have access on $this and using it will generate an error to
warn us that something is incorrect.
methods of a class is directly accessible from the
class using two colon (::) which is known as scope resolution operator.
You can declare static function or method by using static keywords. In other
words, you can make any function/ methods by using static keywords. If you are
not specifying any visibility then by default it is considered as public.
Following is an example to show how static method works:
function xyz($par1 , $par2) // two parameter are
"$par1 , $par2"; // display the value
of the parameter
, "Mehta"); //:: colon is used to
access the class directly
As you can see in above example, after defining static
method you don’t need to make class object. You can access that property (xyz)
from class with the help of two colon:: (scope resolution operator).
Static property/ variable of a class is directly
accessible from the class using two colon (::) which is known as scope
resolution operator. You can declare static property/ variable by using static
keywords. In other words, you can make any property/ variable by using static
keywords. If you are not specifying any visibility then by default it is
considered as public. Following is an example to show how static variable
static $var1 = 0;
= self::$var1 + 1;
"Hello World: ". self::$var1."</br>";
= new test();
= new test();
Hello World: 1
Hello World: 2
Hello World: 3