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

четверг, 7 января 2010 г.

Статичные методы и переменные в php

В php 5 ввелись статичные переменные и методы.
Хоть название у них одинаковое, но функции разные.
Статичные методы можно вызывать без объявления ключевого слово $this, т.е. без создания экземпляра класса.
Статичные переменные объявляются без использования выражения
(т.е. нельзя static $a = $b + $c)
и сохраняют свои значения между вызовами функции. Всё как в других языках, но почему-то можно запутаться, если их не употреблять достаточно часто.

Амперсанд перед именем функции в php

Сегодня встретил амперсанд перед именем функции в php
т.е. запись вида

function &foo() {
...
return $bar;
}

амперсанд перед именем аргумента хорошо известен - он передаёт в функцию аргумент по ссылке,
а перед именем функции никогда раньше не встречал.
Полазим по поиску, выяснил, что амперсанд возвращает ссылку на переменную и вызывать фкнцию надо тоже с амперсандом. Вот так-то. Будем знать.

DIRECTORY_SEPARATOR и PATH_SEPARATOR

Здесь заметка о константах php DIRECTORY_SEPARATOR и PATH_SEPARATOR и для чего они нужны.

DIRECTORY_SEPARATOR зависит от ОС - либо '/' в Linux/Unix, либо '\' в Windows.
PATH_SEPARATOR используется совместно с set_include_path для разделения директорий в этой аргументе этой функции, т.к. по умолчанию ои там отображаются в виде ':' или ';' в зависимости от ОС.