Глава 5. Функции и объекты PHP
Одними из основных требований к любому языку программирования являются: поддержка хранения данных, наличие средств управления потоком выполнения программы с помощью инструкций, таких как if и else, и ряд других мелочей, таких как вычисление выражений, управление файлами и вывод текста. В PHP есть все, чтобы облегчить нам жизнь, и все равно программирование на этом языке может быть слишком нудным и утомительным занятием, особенно если регулярно будет возникать необходимость вновь и вновь набирать похожие фрагменты кода.
И тут нам на помощь приходят функции и объекты. Нетрудно догадаться, что функция — это набор инструкций, выполняющий конкретную задачу и в дополнение к этому способный вернуть какое-нибудь значение. Можно извлечь фрагмент кода, который используется более одного раза, поместить его в функцию и вызвать функцию по имени в тот момент, когда этот код нужно будет выполнить.
По сравнению с непрерывным линейным кодом у функций есть масса преимуществ:
• экономия времени при наборе текста программы;
• сокращение количества синтаксических и прочих ошибок программирования;
• сокращение времени загрузки файлов программы;
• функции могут принимать аргументы, а значит, их можно использовать как в общих, так и в частных случаях;
• функции легко поддаются тестированию.
Объектно-ориентированное программирование является дальнейшим развитием этой концепции. Класс — это своего рода шаблон, позволяющий создавать объекты, которые объединяют одну или несколько функций и данные, которые эти функции используют.
В этой главе будет рассмотрено все, что касается использования функций, — от их определения и вызова до различных способов передачи данных. Вооруженные этими знаниями, вы сможете создавать функции и использовать их в собственных объектах (в которых они будут называться методами).
В настоящее время крайне необычно (и определенно не рекомендуется) использовать любую версию PHP ниже 5.4. Поэтому в этой главе предполагается, что выпуск с этим номером является той самой младшей версией, с которой вы будете работать. Вообще-то я рекомендую пользоваться версиями не ниже 8.2 (она входит в состав пакета AMPPS, о котором рассказывалось в главе 2). Если вы решите использовать другую версию, например более новый выпуск из линейки 8.x, то вы сможете установить ее из панели управления AMPPS, как описано в главе 2.
Функции PHP
PHP поставляется с несколькими сотнями готовых к работе встроенных функций, превращающих его в язык с очень богатыми возможностями. Чтобы воспользоваться функцией, ее нужно вызвать по имени. Посмотрим, например, как работает функция date:
echo date("l"); // Выведет день недели
Круглые скобки сообщают PHP, что вы ссылаетесь на функцию. Иначе будет считаться, что вы ссылаетесь на константу или переменную.
Функции могут принимать любое количество аргументов, включая нулевое. Например, показанная ниже функция phpinfo отображает массу информации о текущей установке PHP и не требует никаких аргументов:
phpinfo();
Результат вызова этой функции показан на рис. 5.1.
Функция phpinfo весьма полезна для получения информации о текущей установке PHP, но этой информацией могут воспользоваться и потенциальные злоумышленники. Поэтому никогда не оставляйте вызов этой функции в коде, подготовленном для работы в сети.