PHP Static Class
Overview
- A static PHP class is a specific implementation of the Singelton Design Pattern.
- A static class variable can be accessed without instantiating the class first
- This also means that there will only be one version of this variable.
- A static method cannot access non-static variables and methods, since these require an instance of the class.
- To access our static variable from our static class method, we prefix it with the self keyword ( works only inside the class )
- From outside the class, we use the name of the class with double-colon operator
Code Sample
class PHPLogger{
public static $loggerName = "Helmut's PHP-Logger:: ";
public static $loggerLogLevel = 3;
public static function getLogLevel() { return self::$loggerLogLevel; }
public static function setLogLevel($level) {
self::$loggerLogLevel = $level;
echo self::$loggerName."Set New Logger Loglevel to: ". self::$loggerLogLevel."\n";
}
}
echo PHPLogger::$loggerName."Initial LogLevel: ". PHPLogger::getLogLevel() ."\n";
PHPLogger::setLogLevel(2);
echo PHPLogger::$loggerName."New LogLevel: " . PHPLogger::getLogLevel()."\n";
Code Output
D:\xampp\htdocs\pvdata\wrapp\public_html\php> php logger.php
Helmut's PHP-Logger:: Initial LogLevel: 3
Helmut's PHP-Logger:: Set New Logger Loglevel to: 2
Helmut's PHP-Logger:: New LogLevel: 2
Reference