Что такое PHP?

PHP

Зародившийся в 1995 году язык PHP дал огромный толчок в развитии веб-разработки. Он продолжает получать обновления по сей день – в феврале 2021 года выпущена версия 8.0.2, которая, аналогично предыдущим спецификациям, распространяется по собственной открытой лицензии и разрабатывается группой энтузиастов. Им удалось достичь огромных масштабов выводом PHP в топ языков, используемых в создании динамических веб-страниц, и поддержкой массой хостинг-провайдеров «из коробки».

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

  • базы логинов и паролей,
  • списки электронных адресов,
  • приватные ключи API.

Здесь проявляется преимущество программ, созданных на этом языке, а не на JS: не нужно заниматься обфускацией кода – PHP-скрипты защищены от перехвата клиентами по своему определению.

Основные достоинства

Дискуссии о том, что PHP «вымирает», ведутся более десяти лет и всё никак не оправдывают ожиданий тех, кто видит конец существования языка в ближайшее время. Не следует относиться к подобным слухам как к информации о том, что учиться написанию PHP-программ сейчас невыгодно из-за вероятного отсутствия подобных вакансий в будущем.

Успеть оценить преимущества успели владельцы массы крупных ресурсов, включая:

  • Facebook;
  • «Википедию»;
  • GitHub;
  • Drupal;
  • Yahoo!;
  • Baidu.

Главным плюсом изучения PHP выступает низкий порог вхождения. Для понимания азов языка не требуется иметь опыт в программировании на других языках, однако навыки построения страниц на HTML крайне желательны. В конце концов, HTML – лишь разметка, и обучиться её основам ещё проще.

Своей плохой репутацией в качестве «любительского» языка программирования PHP во многом обязан этому моменту, поскольку из-за простого синтаксиса его сообщество включает в себя массу начинающих программистов, часто не занимающихся оптимизацией кода.

PHP не нужно компилировать самостоятельно: достаточно заключить в теги нужные команды, которые будут автоматически обработаны серверным интерпретатором при каждом посещении страницы пользователями. Ещё одно схожее достоинство выражается в возможности редактирования в простом блокноте или его более расширенном аналоге – Notepad++, поддерживающем подсветку синтаксиса.

Для PHP не важна вложенность, которая необходима в, например, Python. Одинаково обработаются и скрипты, где используются знаки табуляции, и задействующие двойные пробелы. Здесь также уместно сравнение с «Пайтоном», который требует, чтобы в программе использовалось что-то одно из этих двух вариантов.

Ключевые недостатки

Медленность языка – часто упоминаемый его минус, берущий корни со времён первых PHP-спецификаций. За это время он успел значительно преобразиться, улучшить скорость обработки кода. Некоторые возможности, ранее осуществлявшиеся лишь через регулярные выражения, со временем стали функциями, благодаря чему начали выполняться ощутимо быстрее.

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

История языка

Прародителем PHP стал набор CGI-скриптов, написанный на языке C программистом РасмусомЛердорфомв 1994 году и уже к июню 1995-го переросшего в первую версию языка, предназначенного для обработки шаблонов HTML-файлов.

Вторая спецификация вышла из бета-тестирования в 1997-м и в ближайший момент после релиза достигла пика по количеству использования – на сайты с PHP 2.0 приходилась доля в примерно 50000 ресурсов в Сети.

Третья версия принесла значительную переработку языка, однако куда более весомые изменения пришлись на четвёртый релиз, определивший будущее PHP и представленный миру в 2000 году. Вместе спецификации принесли сообществу программистов: совместимость с массой баз данных, буферизация вывода, встроенные методы защиты от XSS. Пятый релиз состоялся в 2004 году и стал одним из крупнейших в истории языка.

Следующей стала седьмая спецификация. Шестая, несмотря на длившуюся 5 лет разработку, так и не была завершена. Разработчики PHP поставили слишком сложную задачу – поддержку UCS-4 (UTF-32) без необходимости применения сторонних решений. Это позволило бы крайне быстро выводить информацию, однако по итогу проект был признан неперспективным и стал лишь незавершённой ветвью языка.

Восьмой релиз состоялся в ноябре 2020 года, чуть позднее состоялись менее крупные обновления. К примеру, 4 февраля 2021-го представлена версия 8.2.

Основные функции

Вывод текста на экран

Для отображения какой-либо фразы используется echo();, поддерживающая значения массы типов. Для вывода чисел или слов без пробелов кавычки не нужны, во всех остальных случаях их потребуется поставить внутри скобок.

Как указано в официальной документации, echo(); не является полноценной функцией, а выступает в качестве языковой конструкции. Из-за этого ставить скобки необязательно, однако такая возможность присутствует для поддержания общей стилистики. Похоже выглядит и print();, однако он всегда возвращает значение «1» и может выводить только одну строку.

Из-за того, что echo(); и print(); являются конструкционными особенностями языка, к ним нельзя обратиться с помощью переменных функций. Не только они попадают под это ограничение — также не удастся воспользоваться isset();, empty();, require();и подобными.

Сравнение

Операторы сравнения — if, elseif, else. Первый выступает в качестве главного, второй – на случай, если первое условие оказалось ложным, третий – если оба условия не выполнены. Можно использовать один if, не указывая остальные действия. Количество elseif не ограничено, эквивалентной для этого оператора является комбинация elseif.

Сверяемые данные заключаются в круглые скобки после операторов. За ними следуют фигурные скобки, отвечающие за действия, выполняемые при верном сравнении.

Запрос файла

Для вывода файлов средствами PHP в скрипт и дальнейшей их обработки используются функции include(); и require();. Последняя отличается от первой том, что при проблемах в получении содержимого произойдёт ошибка интерпретации, ввиду чего весь скрипт не будет работать. Это повышает безопасность программ, защищая их от человеческого фактора: случайного удаления какого-либо контента.

Как и echo();с print();, рассмотренные в этом подразделе возможности не являются функциями. Из-за этого их значения не обязательно заключать в скобки. Это поможет ускорить написание кода, однако их использование не считается ошибкой и не вызовет помех в интерпретации.

Основные типы данных

При работе с PHP встретится информация, сохранённая в разном виде в зависимости от целей. Наиболее часто встречаемые типы рассмотрены ниже.

Числа

Здесь всё максимально просто – данные записываются в цифрах и не требуют каких-либо кавычек при выводе. Поддерживаются не только целые значения, но и десятичные дроби. Можно задействовать и отрицательные числа, поставив минус в самом начале.

Строки

В качестве строк могут использоватьсяслова и предложения. При отсутствии пробелов вводить кавычки необязательно. Вручную превратить числа в этот род информации можно добавлением кавычек по обеим сторонам.

Массивы

Некоторым аналогом таблиц(даже самых простых, сделанных в Excel) являются массивы. Они предназначены для структурированного хранения информации и могут записываться как и в паре «название значение», так и просто в виде «значение», разделяясь запятыми с переносами строк.

В PHP присутствует собственный формат записи массивов, однако также поддерживается JSON-обработка, а с помощью дополнения phpQuery–XML. Оба формата являются широко распространёнными, даже не смотря на то, что изначально JSON создавался для языка JavaScript. Причиной роста его популярности стала одновременное удобство для чтения и человеком, и программами. Также плюсом можно назвать компактное написание в сравнении с XML.

Булев тип

Самый простой вид хранения информации. Используется при несложных проверках в составе if-elseif-elseи представлен вариантами: истина (true) и ложь (false).

Примеры программ на PHP

Написание текста

Эта программа выведет надпись «Маленький шаг для меня, большой – для программирования!» внутриHTML-документа. Обратите внимание, что здесь отлично показывается встраиваемость языка – программы необязательно помещать в отдельные файлы или начало, конец документов, что облегчает создание кодов.

<!DOCTYPE HTML>
<html lang=»ru»>
<head>
<meta charset=»utf-8″ />
<title>Учимся работать с PHP</title>
</head>
<body>
В чащах юга жил-был цитрус… <?=»Маленький шаг для меня, большой – для программирования!»?>
</body>
</html>

Здесь также используется упрощённый синтаксис, представленный добавлением <? в начало вместо <?phpи задействованием знака равно, использующегося для короткого вывода строк и выступающего в качестве упрощённого варианта echo();, по поведению ничем от него не отличающегося.

Проверка if-elseif-else

<!DOCTYPE HTML>
<html lang=»ru»>
<head>
<meta charset=»utf-8″ />
<title>Учимся работать с PHP</title>
</head>
<body>
<?php
$var_1 = 123;
$var_2 = «Hello»;
if($var_1 = 0 and $var_2 = «Hello») {
print(«Верно условие №1»);
} elseif($var_1 = 123 and $var_2 = «Hello») {
print(«Верно условие №2»);
} elseif($var_1 = 123 and $var_2 = «Goodbye») {
print(«Верно условие №3»);
} else {
print(«Все условия ложны!»);
}
?>
</body>
</html>

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

Запрос файлов

<!DOCTYPE HTML>
<html lang=»ru»>
<head>
<meta charset=»utf-8″ />
<title>Учимся работать с PHP</title>
</head>
<body>
<?php
include($_SERVER[‘DOCUMENT_ROOT’].»/folder/to/insert.php»);
?>
</body>
</html>

Поскольку PHP – язык для back-endпрограммирования, директории для него выглядят иначе, чем для простых посетителей сайта. Из-за этого при указании пути до какого-либо файла (например, при использовании require(); и include();)могут возникнуть проблемы, легко решаемые супермассивом $_SERVER, помимо этого полезного в реализации массы других целей.

Заключение

PHP – отличный вариант как и для тех, кто только желает начать программировать, так и для уже опытных кодеров. Он подойдёт не только для пет-проектов (ресурсов, создаваемых программистами в качестве хобби), но и для работы в крупных компаниях.

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

Оцените статью
Образовательный портал WELCOME4U.RU
Добавить комментарий

Adblock
detector