Константы объявляются в РНР при помощи функции define():
define(CONSTANT, value)
Первый параметр этой функции – имя константы, второй – её значение. При использовании константы на неё ссылаются по имени:
<?define(CONSTANT1,15); define(CONSTANT2,"\x20"); // код пробелаecho(CONSTANT1); echo(CONSTANT2);?>
По традиции имена констант пишут буквами верхнего регистра. Существует функция defined(), которая проверяет, определена ли константа:
<?define(CONSTANT,"Hello"); if(defined("CONSTANT")) {echo("<p>CONSTANT is defined</p>"); }?>
Массивы поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Суперглобальными массивами (superglobal arrays) в PHP называются предопределенные массивы, которые видны в любом месте исходного кода без использования ключевого слова global.
· $GLOBALS - массив всех глобальных переменных (в том числе и пользовательских).
· $_SERVER - содержит множество информации о текущем запросе и сервере.
· $_ENV - текущие переменные среды. Их набор специфичен для каждой конкретной платформы, на которой выполняется сценарий.
· $_GET - ассоциативный массив с параметрами GET-запроса. В исходном виде эти параметры доступны в $_SERVER['QUERY_STRING'] и в $_SERVER['REQUEST_URI'] в составе URI.
· $_POST - ассоциативный массив значений полей HTML-формы при отправки методом POST.
· $_FILES - ассоциативный массив со сведениями об отправленных методом POST файлах. Каждый элемент имеет индекс идентичный значению атрибута "name" в форме и, в свою очередь, также является массивом со следующими элементами:
o ['name'] — исходное имя файла на компьютере пользователя.
o ['type'] — указанный агентом пользователя MIME-тип файла.
o ['size'] — размер файла в байтах.
o ['tmp_name'] — полный путь к файлу во временной папке.
· $_REQUEST - общий массив вводных данных запроса пользователя как в массивах $_GET, $_POST, $_COOKIE. Начиная с версии PHP 4.1 включается и содержимое $_FILES.
· $_SESSION - информация о текущей сессии пользователя.
PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка. Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищенными (protected) и скрытыми (private). PHP поддерживает все три основные механизма ООП — инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent. Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием символов ->. Для доступа к членам класса из его методов используется переменная $this.
Среди наиболее часто используемых возможностей PHP стоит отметить следующие:
· имеется большой набор функций для работы со строками;
· работа с регулярными выражениями PCRE.
· работа с базами данных, осуществляемая посредством модулей:
o php5-mysql для MySQL,
o php5-pgsql для PostgreSQL
o и др.
· для PHP разработаны средства шаблонирования веб-страниц, позволяющие эффективно разделить представление от модели, например Smarty;
· имеется библиотека для работы с графическими изображениями GD, позволяющая производить преобразования с графическими файлами, и создавать изображения "на лету".