Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения

среда, 7 августа 2013 г.

Позднее статическое связывание PHP >= 5.3.0


Это интересное простое в реализации свойство, которое предаёт гибкость в ООП. Вроде бы всё просто, но различие схем использования может запутать. Статические свойства ООП используются для работы с классами без инициализации объектов. Инициализированные объекты также могут использовать статические свойства ООП. self::, parent::, static:: помогают использовать статические свойства ООП в PHP. Данные операторы могут ввести себя одинаково. Всё зависит от условий использования. Основное различие опреаторов self::, parent::, static:: это среда(scope) их исполинения. Заметьте, что не только то откуда вызывается статический метод, или свойство но и то какие зависимые свойства классов они используют.
self:: - Среда определения, класс где метод, свойство были объявлены.
parent:: - Среда родительского класса.
static:: - Среда где происходит вызов метода, свойства.

Всё начиналось с перевода документации. Перевести документацию доходчиво не получилось. Материал выложил так, как понял. Примеры смотрите в документации. __CLASS__,  forward_static_call(), get_called_class() помогают в определении среды исполнения

понедельник, 17 июня 2013 г.

Как динамически инициализировать класс РНР с динамическики параметрами.

Как динамически инициализировать класс РНР с динамическики параметрами. Вот решение.
function create_instance($class, $params) {
  $reflection_class = new ReflectionClass($class);
  return $reflection_class->newInstanceArgs($params);
}
Размышление можно просмотреть в полной статье.

пятница, 10 мая 2013 г.

PSR-0. Правила организации структуры кода.


Данная статья частично являеться переводом спецификации для автозагрузчиков. Для нас данное руководство может являться документацией по структурированию кода в файловой системе, названиях классов, для того что бы автозагрузчик мог его загрузить