public function actionStatic() { StaticExample::instance()->dump(); }
<?php /** * В этой главе буду учить: * Сататические методы и свойства: доступ к данным и функциям с помощью классов, а не объектов. * Постоянные свойства: неизменяемая часть класса. * Абстрактные классы и интерфейсы: отделение проэкта от реализации. * Позднее статическое связывание. * Обработка ошибок: знакомство с исключениями. * Завершенные классы и методы: ограниченное наследование. * Методы-перехватчики: автоматическая передача полномочий. * Методы-деструкторы: освобождение ресурсов после использования объекта. * Клонирование объектов: создание копий объектов. * Преобразование объектов в строки: создание резюмирующего метода. * Функции обратного вызова: добавление функциональных возможностей компонентам с помощю анонимных функций. */ //Статические методы и свойства class StaticExample { public static $aNum = 0; public static function sayHello() { self::$aNum++; print "Привет! (" . self::$aNum . ")\n"; } } print StaticExample::$aNum . "<br>"; StaticExample::sayHello();
public static function doSomeWork() { echo 'I am doing some work...'; // This is how to reference a static property from inside the class itself self::$shouldCache = true; }
<?php class StaticExample { const START = 500; private static $count = self::START; static function getNextCounter() { return ++static::$count; } } echo StaticExample::getNextCounter() . "\r\n"; echo StaticExample::getNextCounter() . "\r\n"; echo StaticExample::getNextCounter() . "\r\n";
<?php class StaticExample { const ACTIVE_MEMBER = 1; public $test = 'Test'; //Si no se especifica el tipo que nivel de acceso por default tiene? public static $aNum = 0; public static function sayHello() { print "hello"; } public function test() { return self::$aNum; } } var_dump(StaticExample::$aNum); StaticExample::sayHello(); $oStaticExample = new StaticExample(); var_dump($oStaticExample->test); var_dump($oStaticExample->test()); var_dump($oStaticExample::ACTIVE_MEMBER); //De esta manera es la unica para acceder a una constante haciendo una instancia?