Beispiel #1
0
 public function actionStatic()
 {
     StaticExample::instance()->dump();
 }
Beispiel #2
0
<?php

/**
 * В этой главе буду учить:
 * Сататические методы и свойства: доступ к данным и функциям с помощью классов, а не объектов.
 * Постоянные свойства: неизменяемая часть класса.
 * Абстрактные классы и интерфейсы: отделение проэкта от реализации.
 * Позднее статическое связывание.
 * Обработка ошибок: знакомство с исключениями.
 * Завершенные классы и методы: ограниченное наследование.
 * Методы-перехватчики: автоматическая передача полномочий.
 * Методы-деструкторы: освобождение ресурсов после использования объекта.
 * Клонирование объектов: создание копий объектов.
 * Преобразование объектов в строки: создание резюмирующего метода.
 * Функции обратного вызова: добавление функциональных возможностей компонентам с помощю анонимных функций.
 */
//Статические методы и свойства
class StaticExample
{
    public static $aNum = 0;
    public static function sayHello()
    {
        self::$aNum++;
        print "Привет! (" . self::$aNum . ")\n";
    }
}
print StaticExample::$aNum . "<br>";
StaticExample::sayHello();
Beispiel #3
0
 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?