Что означает php в английском
Что такое PHP? Пишем свою первую программу на PHP
PHP — что это такое? PHP – язык программирования, который исполняется на стороне сервера, в то время как JavaScript исполняется в браузере на стороне пользователя.
Прочитав эту статью о PHP программировании, вы узнаете :
Сценарный язык vs программный язык
Программный язык | Сценарный язык |
Предлагает свойства, необходимые для разработки полноценных приложений. | В основном используется для выполнения рутинных задач. |
Перед исполнением код нужно компилировать. | Код исполняется без компиляции. |
Необязательно встраивать в другие языки. | Обычно встраивается в другие программные среды. |
Как расшифровывается PHP?
PHP-код можно встраивать в HTML или использовать в CMS и веб-фреймворках.
Что такое PHP?
PHP — язык программирования, который активно используется в разработке:
PHP-скрипты могут быть выполнятся только на тех серверах, где установлен интерпретатор данного языка.
Синтаксис PHP
На рисунке, приведенном ниже, демонстрируется базовая архитектура веб-приложения и процесс обработки запросов сервером. Это важно знать при изучении PHP программирования с нуля:
Зачем нужен PHP?
Для чего используется PHP и какова его доля на рынке?
На основе PHP работает более 20 миллионов сайтов и веб-приложений:
PHP vs ASP.NET vs JSP vs CFML
ASP – Active Server Pages.
JSP – Java Server Pages.
CFML – Cold Fusion Markup Language.
В таблице ниже язык программирования PHP сравнивается с различными серверными языками.
Файловые расширения PHP
Сами PHP-теги не чувствительны к регистру, но настоятельно рекомендуется использовать нижний регистр:
Мы расцениваем строки PHP-кода как выражения. Они оканчиваются точкой с запятой ( ; ). Если у вас будет только одно выражение, то точку с запятой можно опустить. Если выражений больше одного, то каждая строка должна завершаться точкой с запятой.
PHP Hello World
Резюме
Пожалуйста, опубликуйте свои комментарии по текущей теме материала. Мы очень благодарим вас за ваши комментарии, подписки, дизлайки, отклики, лайки!
Дайте знать, что вы думаете по этой теме статьи в комментариях. За комментарии, отклики, лайки, подписки, дизлайки низкий вам поклон!
Что такое PHP и почему его все ненавидят
Несмотря на то, что 83% сайтов в интернете работают на PHP.
История языка
Изначально PHP расшифровывался как Personal Home Page Tools — инструменты для создания персональных страниц. Дело в том, что раньше, чтобы сделать функциональный сайт, чаще всего использовали C, Perl и CGI-скрипты. Звучит сложно, на деле — тоже сложно. Единственным способом сделать что-то своё и не изучать при этом три тома по программированию был PHP.
Например, можно сделать так:
Привет! А вы знаете, что
В результате на странице получится строчка: «Привет! А вы знаете, что этот код написан на PHP?»
Ещё можно создавать целые PHP-файлы и писать весь код там, а потом просто подключать эти файлы в нужный момент. Получается, что с PHP можно работать в двух режимах: писать код прямо в коде страницы или выносить всё в отдельные файлы.
PHP — это просто
Именно простота этого языка принесла ему дурную славу: слишком много появилось плохого кода, который на первый взгляд работал хорошо. Посмотрите сами: начать писать на PHP действительно просто.
Комментарии и точка с запятой. Комментарии можно ставить в любом месте — достаточно написать два слеша подряд. А точка с запятой ставится после каждой команды — точно так же, как в С, Pascal, JavaScript и ещё в сотнях других языков.
Объявление переменных. Чтобы объявить переменную, нужно просто поставить знак доллара, после него написать название переменной и присвоить ей какое-то значение.
Вывод на экран. В HTML-коде достаточно вставить команду echo, которая помещает текст в то место, откуда вызвали команду. Например, этот код покажет заголовок первого уровня с текстом «Заголовок, собранный на PHP»:
И этот код сделает то же самое:
Ещё в PHP есть классы и объекты, автоматическое приведение типов (хотя мало кто понимает, как оно там работает в сложных примерах) и множество встроенных функций, которые упрощают разработку и помогают быстро писать код. А самое главное — PHP сам заставляет работать любой код, если он хоть как-то написан по правилам языка. Даже если внутри будет полная чушь, но похожая на PHP-код — интерпретатор его старательно выполнит, и, скорее всего, многое из этого будет даже работать.
Для чего нужен PHP
Собирать страницы из модулей. Если помните, PHP-код можно встраивать в HTML-страницы, а можно сохранять как отдельные файлы. В этом случае мы получаем мини-модули, каждый из которых отвечает за что-то одно. Например, в одном мы пишем, как будет выглядеть шапка сайта, в другом — меню, третий файл будет отвечать за подвал, четвёртый — за блок с отзывами о товарах.
Если у нас интернет-магазин и на каждой странице товара нужно показать шапку сайта и подвал, можно каждый раз прописывать это вручную, а можно собрать на PHP. Для этого достаточно в теле страницы написать что-то такое:
PHP возьмёт файл header.php, в котором мы написали, как должна выглядеть шапка сайта, и поставит её в начало страницы. То же самое сделает и с подвалом — файлом footer.php, и так будет на каждой странице товара. Получается, что нам не нужно писать один и тот же код шапки и подвала на каждой странице, достаточно сделать это в одном месте, а потом подключать одной строчкой.
Создавать CMS и движки для сайтов. Такие модульные возможности PHP привели к тому, что большинство современных систем управления контентом на сайтах написаны на PHP. Смотрите сами:
Если вы на бесплатном хостинге используете какой-то инструмент для создания или поддержки сайта, скорее всего, он тоже будет написан на PHP.
Работать с формами и данными на странице. HTML плохо умеет работать с формами и отправлять куда-то данные, которые вы вводите в поля регистрации. PHP справляется с этим гораздо лучше: вы говорите, из какого поля что нужно взять и по какому адресу отправить, а всё остальное интерпретатор делает за вас.
Запоминать пользователей и делать формы авторизации. Если вам нужно быстро написать свою форму регистрации на сайте или запоминать посетителей даже без регистрации, то PHP — самый простой вариант решения этой задачи. Единственное, что нужно знать — как работать с базами данных, где хранятся записи о пользователях, потому что PHP это тоже умеет.
Почему все ненавидят PHP
По старой памяти, когда ужасного кода было много. Простота вхождения в этот язык привела к тому, что невозможно было нормально поддерживать сайт, написанный кем-то на PHP. Этот язык позволял раньше (сейчас меньше, но тоже есть) много вольностей с типами данных, переменными, обращениями к базе данных, поэтому разобраться было почти нереально.
Кроме этого, раньше в PHP было много уязвимостей, через которые можно залезть в базы данных пользователей или что-то поломать на сайте. В новых версиях большинство дыр уже устранили, но тогда это стало реальной проблемой.
Смешанный код. Писать в одном файле на PHP и HTML можно, если у вас всего одна форма обратной связи. Но когда весь сложный код на PHP расползается по всей странице, то это сильно мешает разобраться, что же там происходит на самом деле.
Любые переменные в любом месте. Понадобилась новая переменная? Объявите её на любом участке кода и сразу берите в работу. Это удобно для первоначальной разработки, когда ты просто берёшь новую переменную там, где она понадобилась, и делаешь с ней что хочешь. Но когда проходит время или кто-то другой хочет разобраться в коде, то такой подход сильно затрудняет работу.
Например, можно написать так:
Когда новый программист захочет понять, за что отвечают переменные а и b, он найдёт место, где они объявляются, и посмотрит, какого они типа и для чего использовались вначале. Но разработчик мог в процессе передумать и начать использовать эти переменные для других целей с новыми типами данных. Чтобы это понять, нужно просмотреть весь код и разобраться в логике, а это долго и трудно.
Стоит ли учить PHP?
Зависит от задачи. Дело в том, что не менее 80% сайтов уже сейчас работают на PHP: это значит, что их нужно будет еще какое-то время поддерживать. Ещё лет 5–10 спрос на PHP точно будет.
Однозначно стоит учить PHP, если хотите работать с Вордпрессом, Друпалом, Джумлой и другими известными системами управления сайтами. Они написаны на PHP, и все надстройки и дополнения — тоже. Хороший разработчик WordPress сейчас на вес золота.
Будут ли веб-разработчики массово переходить на другие технологии — вопрос открытый. Сейчас, если вы покупаете виртуальный хостинг, вам сразу включают интерпретатор PHP, потому что все его используют. А другие технологии типа Python или Node.js — не включают, их нужно устанавливать отдельно.
Но ведь и веб — это не навсегда. Ещё лет 20, и понятие веб-сайта может безнадёжно устареть, потому что люди будут в приложениях, соцсетях или ещё где похуже.
Наверное, ответ на вопрос такой: если вам до 20 лет, то уже не надо учить PHP. А если ближе к 40–50 и вы хотите заниматься вебом — то определённо да.
Что дальше
В следующей серии попрактикуемся в PHP — напишем свой код для пользы дела или для развлечений.
Что такое php в английском
Что такое php в английском
Школа хостинга Редактор: Марина Долгова 2199
2 мин Аудио
Что такое PHP?
PHP — это язык программирования, который используется для создания современных динамических страничек на сайтах. В переводе с английского аббревиатура РНР переводится как «предварительный обработчик гипертекста». РНР является языком описания скриптов, который можно внедрять в HTML. В основе его синтаксиса лежит С, Perl и Java, с добавлением нескольких особенностей, специфичных именно для РНР. Цель создания РНР является предоставление возможностей создавать динамически генерируемые страницы.
Как расшифровывается PHP?
РНР представляет собой рекурсивный акроним термина ‘PHP: Hypertext Preprocessor’ (‘PHP: Предварительный Обработчик Гипертекста’). До возникновения версии РНР 3.0 его название означало «Утилиты для домашней страницы/Интерпретатор форм» и обозначалось как PHP/FI.
Какие хостинг провайдеры предоставляет PHP?
Практически любой из указанного в нашем рейтинге хостинг провайдеров.
Современные хостинг-провайдеры дают достаточно много свободы в настройках PHP, которые помогают решать ставящиеся перед сайтом задачи.
Каков принцип взаимодействия HTML и PHP?
В отличие от других известных языков программирования, язык РНР имеет несколько неоспоримых преимуществ, поскольку он разрабатывался для решения довольно сложных задач. Благодаря использованию РНР осуществляется эффективное и надежное взаимодействие с HTML. Когда браузер посылает запрос на веб-сервер на получение страницы РНР, то сначала модуль РНР выполняет ее интерпретацию. Обычные теги HTML являются частями данной страницы. Процесс передачи их клиенту осуществляется подобно тому, как происходит обработка обычного документа HTML. Части документа, написанные на языке РНР, проходят обработку РНР-модулем сервера, который представляет собой специальную программу, которая предназначена для интерпретации инструкции РНР. После этого модуль РНР просматривает код РНР, а затем занимается выполнением заданных в нем инструкции: отправкой электронной поты, открытием доступа к базе данных или преобразованием чисел.
Перед тем, как начать выполнять разработку сценариев РНР, нужно установить требуемое программное обеспечение: интерпретатор РНР и web-сервер Apache. Данный процесс обычно происходит оперативно и без особых трудностей. Если же у Вас возникнут проблемы, обратитесь к документации, которая прилагается к программам РНР и Apache.
Для чего используется файл php.ini?
Функции файла php.ini (или php3.ini, если вы применяете PHP3) заключаются в том, что он определяет целый ряд установок, используемых по умолчанию в РНР. Также читайте нашу отдельную статью о файле php.ini в которой мы разбираемся в его особенностях очень детально.
В зависимости от степени сложности выполнение задач их можно изменять и корректировать. Файл php.ini или php3.ini содержит директивы РНР, имеющими соответствующие значения, которые предоставляют возможность разрешить или запретить какое-либо средство либо выполнить установку какого-либо определенного свойства. Для того чтобы увидеть список этих значений, нужно вызвать сценарий info.php, который создан специально для проверки установки РНР.
Для получения более глубоких знаний и умений, рекомендуем посетить сайты-руководства по данной технологии — http://docs.php.net/manual/ru/ и http://php.su/.
Как узнать настройки PHP на хостинге?
1 способ
Поискать в панели управления хостингом. Т.к. единого алгоритма как найти настройки нет, и не у каждого хостера такая возможность есть, то можно либо искать раздел «Конфигурация PHP», «Настройка веб-сервера» (или что-то подобное), либо обратиться в службу поддержки, либо использовать второй способ.
PHP Introduction
Before you continue you should have a basic understanding of the following:
If you want to study these subjects first, find the tutorials on our Home page.
What is PHP?
PHP is an amazing and popular language!
It is powerful enough to be at the core of the biggest blogging system on the web (WordPress)!
It is deep enough to run large social networks!
It is also easy enough to be a beginner’s first server side language!
What is a PHP File?
What Can PHP Do?
With PHP you are not limited to output HTML. You can output images, PDF files, and even Flash movies. You can also output any text, such as XHTML and XML.
Что такое PHP
Создал данный язык 6 июня 1994 года датский программист Расмус Лердорф. Он использовал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Набор скриптов получил соответствующее название Personal Home Page (Личная Домашняя Страница). Позже Лердорф разработал новый интерпретатор шаблонов PHP/FI уже на языке С (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»). Это позволило создавать различные web-приложения.
Расмус Лердорф — создатель языка PHP
Позже к разработке нового языка присоединилсь и другие. В частности PHP 3 (1998 год), получивший большую популярность, разрабатывали Лердорф и израильские программисты Энди Гутманс и Зеев Сураски.
В настоящее время (уже PHP 5) поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов и не уступает в скорости другим языкам программирования.
Что такое PHP
PHP (от англ. PHP: Hypertext Preprocessor — PHP: препроцессор гипертекста; первоначально Personal Home Page Tools — Инструменты для создания персональных веб-страниц) — скриптовый язык программирования общего назначения, который широко применяется для разработки веб-приложений.
Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.
Новички! Теперь простым языком о PHP.
При обращении пользователя к странице, написанной на PHP, как правило, готового варианта страницы НЕ существует. Действия PHP выполняются на стороне сервера. То есть ваше обращение к странице index.php любого сайта посылает запрос на сервер, а тот уже начинает собирать запрашиваемую Вами страницу. Что это значит? Ну вот Вы зашли, например, на Вашу почту или в социальную сеть:
Во-первых, будет осуществлена проверка, осуществлён ли вход (сохранены ли Ваши куки (cookies) в Браузере), если да, то он выдаёт страницу с Вашей личной информацией, если нет — форму входа логина и пароля. А это всё одна и та же страница!
Если совсем просто, то если Вы уже авторизовались, то выдаётся команда показать один код страницы, а если нет, то другой.
Во-вторых, с чего вообще следовало бы начать, как правило, страница разбита на определённые блоки. В них размещается Отдельно друг от друга информация, например, о верхнем меню, основном блоке, сайд-баре (боковом меню), футере (подвал сайта) и других. Сервер должен под определённую страницу вставить или же нет определённый блок или часть кода.
То есть, если Вы обычный пользователь, то при входе, например, на любой сайт, он не покажет Вам блок с админ-панелью)
Данная функция называется include. Она очень полезна. Допустим Вы захотели изменить один пункт в меню. А поскольку теперь все страницы подключают к себе один файл с меню, то менять нужно будет только этот файл с меню, а не каждую страницу с его упоминанием, как было бы в HTML. |
В-третьих, у Вас на многих сайтах есть Cвои персональные данные — ФИО, город, аватар и тп, так вот Сервер также начинает их собирать. Вашей готовой страницы нигде НЕ существует! Есть одна универсальная, которая собирает данные для каждого пользователя индивидуально (работа PHP и MySQL).
И многое другое, что подразумевает под собой функционал языка PHP.
Продвинутых пользователей прошу не критиковать данное объяснение — нужно же как-то изложить суть новичкам. Причём хотелось коротко, Доступно и не вникая в мелочи, а не заваливать терминами, ссылками на толмуты, в результате чего губить весь Интерес потоком лишней информации.
Пример PHP кода
Один из самых простейших примеров кода PHP:
Вышеуказанный код выведет на странице текст:
Привет мир!
Демонстрация Скачать исходники
Где и как открывать файлы PHP, что ещё позволяет данный язык — всё это мы рассмотри в следующих уроках!
Определение и особенности языка PHP
Что такое PHP
Начнём с определения того, чем именно является PHP. Сложно в одном предложении дать полное представление об этом языке, поэтому опишем его следующими тремя характеристиками:
PHP — это препроцессор гипертекста (HTML).
PHP — это серверный язык программирования.
PHP — это скриптовый, интерпретируемый язык программирования.
Зачем нужен PHP
Поясним каждое из определений и узнаем, в каких задачах будет полезен PHP.
Основная задача PHP — это «оживление» HTML страниц.
Обычные HTML-страницы статичны. Статичность (или неизменность) означает, что после того, как страницу создали и загрузили на сайт, при каждом обращении к этой странице браузер покажет её любому пользователю в неизменном виде.
Но этого не всегда достаточно.
Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например:
Если использовать только HTML, то решить такие задачи не получится. Здесь-то нам и понадобится PHP. Он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает веб-серверу результат в виде готового HTML-код. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого видно свежий курс валют, погоду, и что угодно ещё.
РНР позволяет изменять веб-страницу на сервере непосредственно перед тем, как она будет отправлена браузеру. Давайте разберёмся, как это работает. PHP умеет исполнять код — так называемые сценарии. В ходе исполнения PHP может изменить или динамически создать любой HTML-код, который и является результатом исполнения сценария. Затем сервер отправляет этот код браузеру. При этом браузеру не известно, как была сформирована данная страница — статично сверстана верстальщиком, или динамически создана при участии PHP. Это не важно, т.к. браузер всегда работает только с тем, что получил от сервера.
Давайте запомним, что сценарий — это программа, которая находится на стороне сервера и запускается в ответ на запрос от браузера.
Выполнение сценария также называют его интерпретацией, а сам PHP — интерпретатором.
Вы можете попрактиковаться в создании динамических страниц с помощью PHP в этом тренажёре.
Где используется PHP
Основная сфера применения языка PHP — это веб, то есть сайты, которые мы каждый день посещаем через браузер компьютера или смартфона. Важно понимать, что веб — это не весь интернет, а только самая большая и популярная его часть. Кроме веба через интернет работает электронная почта, мессенджеры, файлообменные сервисы, сетевые игры и многое другое.
Практически каждый сайт, который есть в интернете, работает на PHP. Этот язык отлично подходит для любых динамических веб-сайтов, среди которых:
Установка и использование
На нашем курсе мы будем работать с версией PHP 8
Где скачать PHP?
Мы рекомендуем использовать программную сборку OpenServer. После загрузки и установки на вашем компьютере появятся свежая версия PHP, веб-сервер, база данных, и много других программ и инструментов для удобной работы. Подробнее об установке и использовании мы рассказываем на первой лекции.
Как выглядит PHP-сценарий
Типичный PHP-сценарий — это набор выражений. Каждое выражение начинается с новой строчки и заканчивается точкой с запятой.
Выражение — это инструкция, которая приказывает PHP-интерпретатору выполнить одно действие, например, сложить два числа или вывести на экран информацию. Давайте посмотрим на самый простой сценарий. Он будет выводить на экран одну строку: «Привет, Мир!»:
В нашем примере сценарий состоит из всего одной инструкции: print(«Привет, мир»);
Здесь мы просим функцию print вывести на экран наш текст — «Привет, Мир!». Это можно рассматривать как подлежащее и сказуемое в русском языке, где функция print — это сказуемое, а «Привет, Мир!» — подлежащее.
Как мы уже знаем, PHP можно встроить в статичные HTML-файлы и модифицировать их с помощью инструкций. Вот как будет выглядеть тот же пример с выводом текста, но расположенный внутри HTML:
Потренироваться вставлять код на PHP в разметку можно в этом задании.
Что означает php в английском
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools [3] — «Инструменты для создания персональных веб-страниц») — скриптовый язык [4] программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. [5]
Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. [6] Проект распространяется под собственной лицензией, несовместимой с GNU GPL.
Содержание
Область применения
В области программирования для сети Интернет PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в декабре 2012 года PHP находился на 6 месте среди языков программирования. [5] К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).
Создание GUI-приложений
Хотя PHP и не слишком распространён в данном качестве, его можно использовать и для создания GUI-приложений.
Для создания кроссплатформенных приложений служат пакеты PHP-GTK и PHP-Qt, представляющие собой обёртки для соответствующих популярных библиотек виджетов.
Для тех, кого интересует программирование с использованием Windows API, существует две альтернативы. Во-первых, это open source пакет WinBinder home page. Его ядро представляет собой написанное на C расширение php — php_winbinder.dll. В состав WinBinder включён также визуальный редактор форм (см. скриншот), написанный с использованием самого WinBinder. Но, по сути, WinBinder является простой обёрткой к WinAPI, и программирование с его использованием — достаточно низкоуровневое.
Второй альтернативой является интегрированная среда Devel Studio, ориентированная, прежде всего, на начинающих программистов.Visual PHP для Windows, обзор DevelStudio на хабрахабре
История
В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»).
В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1% (приблизительно 50 тысяч) всех интернет-доменов мира. [3]
Версия PHP 3.0 подверглась значительной переработке, определившей современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс и Зеев Сураски, полностью переписали код интерпретатора. PHP 3.0 был официально выпущен в июне 1998 года. [3]
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра дополнительными модулями. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Большое количество разработчиков привело к быстрому развитию языка и стремительному росту его популярности. С этой версии акроним php расшифровывается как «PHP: hypertext Preprocessor», вместо устаревшего «Personal Home Page».
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зеев Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Новый движок, названный Zend Engine, успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.
Синтаксис
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.
Простейшая программа Hello world на PHP выглядит следующим образом:
Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и heredoc-строках (строках, созданных при помощи оператора Типы данных
PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).
К скалярным типам данных относятся:
К нескалярным типам относятся:
К псевдотипам [13] относятся:
Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10 −308 до ±1.7×10 +308 ).
PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0», NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются в TRUE.
Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().
Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.
Указатель на функцию в PHP может быть представлен замыканием или псевдотипом callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:
callback тип может быть представлен:
Для проверки является ли значение вызываемым следует использовать is_callable($var)
Обращение к переменным и функциям
Обращение к переменным осуществляется с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для создания динамических переменных и функций. [14] Например:
В PHP echo и print не являются функциями [15] (хотя print имеет возвращаемое значение), а являются синтаксическими единицами. При их использовании можно опустить скобки.
Суперглобальные массивы
Суперглобальными массивами (англ. Superglobal arrays ) в PHP называются предопределённые массивы, имеющие глобальную область видимости без использования директивы global. Большая часть этих массивов содержит входные данные запроса пользователя (параметры GET-запроса, поля форм при посылке методом POST, куки и т. п.).
Все суперглобальные массивы, кроме $GLOBALS и $_REQUEST, имеют устаревшие аналоги с длинными именами, которые доступны вплоть до пятой версии PHP (в шестой версии планируется их исключение). Таким образом, обращения $_GET['year'] и $HTTP_GET_VARS['year'] идентичны (за исключением области видимости: массивы с «длинными» именами не являются суперглобальными).
Объектно-ориентированное программирование
PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка.
Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП — инкапсуляцию, полиморфизм и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.
Начиная с версии 5.4.0 множественное наследование может быть реализовано с помощью механизма особенностей (англ. trait ). Особенности похожи на примеси (англ. mixins ), за исключением того что для них нельзя напрямую создать экземпляр. Повторное использование кода заключено в использовании кода особенности в нескольких классах. Допускается использовать в одном классе несколько особенностей. Механизм особенностей имеет средства разрешения конфликтов имён. При запуске программы код особенности будет «вкомпилирован» в код содержащего его класса.
Классы в PHP имеют ряд специальных методов (англ. magic methods ), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wake()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.
Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора ->. Для доступа к членам класса из его методов используется переменная $this.
Начиная с пятой версии PHP, объекты передаются по ссылке:
«Paamayim Nekudotayim» (иврит: פעמיים נקודתיים) или просто «двойное двоеточие». Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, программист должен использовать имя этого класса. «Paamayim Nekudotayim» на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали [16] именно это обозначение. «Paamayim Nekudotayim» действительно значит «двойное двоеточие» на иврите. Это обозначение не менялось ни разу в течение всего времени разработки PHP. [17]
Особенности интерпретатора
Для увеличения быстродействия приложений возможно использование специального программного обеспечения, так называемых акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт-кода в памяти и/или на диске, таким образом, из процесса работы приложения исключаются этапы 1—3, что в общем случае ведёт к значительному ускорению работы.
Важной особенностью является то, что разработчику нет необходимости заботиться о распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта. [18]
Расширения
Интерпретатор состоит из ядра и подключаемых модулей, «расширений», представляющих собой динамические библиотеки. Расширения позволяют дополнить базовые возможности языка, предоставляя возможности для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и тому подобным. Любой желающий может разработать своё собственное расширение и подключить его. Существует огромное количество расширений, как стандартных, так и созданных сторонними компаниями и энтузиастами, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Множество расширений доступно в репозитории PECL.
Параметры настройки
Интерпретатор PHP имеет специальный конфигурационный файл — php.ini, содержащий множество настроек, изменение которых влияет на поведение интерпретатора. [19] Имеется возможность отключить использование ряда функций, изменить ограничения на используемую скриптом оперативную память, время выполнения, объём загружаемых файлов, настроить журналирование ошибок, работу с сессиями и почтовыми сервисами, подключить дополнительные расширения, а также многое другое. Во время выполнения скрипта эти параметры могут быть изменены командой ini_set. [20]
Режимы интерпретатора
Существует несколько способов использования интерпретатора PHP:
Пасхальные яйца
PHP имеет несколько пасхальных яиц (шуток). Передача специальных GET-параметров любому php-скрипту приводит к выводу различных изображений.
введя это значение в адресную строку браузера можно увидеть различные изображения, в зависимости от версии интерпретатора:
Следующие два значения позволят увидеть стандартный логотип PHP и ZEND, соответственно: [23]
Эти значения можно получить и непосредственно в PHP-скрипте с помощью функций php_logo_guid и zend_logo_guid для логотипа Zend.
Также имеется специальное значение для отображения списка всех авторов PHP (4,5): [23]
Альтернативные реализации
В силу популярности языка PHP и желания увеличить быстродействие основанных на нём веб-приложений, создано несколько альтернативных компиляторов, близких к PHP языку. Так в феврале 2010 года компания Facebook открыла [24] [25] свой компилятор PHP — HipHop (HPHP, Hyper-PHP) генерирующий код на C++, с последующей компиляцией в машинный код с помощью gcc.
В таблице представлен список существующих на сегодняшний момент альтернативных реализаций.