FreelanceHunt.com > удаленная работа и фриланс проекты в сфере IT  

FreelanceHunt.com » Категории » Что такое PHP?

{{Карточка языка программирования
|name = PHP
|logo = 150px
|semantics = мультипарадигменный
|year = 1994
|designer = Расмус Лердорф
|typing = динамическая
|class = Интерпретатор компилирующего типа
|influenced_by = Perl, C
}}

PHP ({{lang-en|PHP: Hypertext Preprocessor}} — «PHP: препроцессор гипертекста») — скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).

В области программирования для Сети PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.

Кроме этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Однако в таком качестве он не получил распространение, отдавая пальму первенства Perl, Python и VBScript.

Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.

В настоящее время PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.

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

История


Название PHP — рекурсивная аббревиатура, означающая «PHP: Hypertext Preprocessor» (ранее акроним расшифровывался как «Personal Home Page Tools»). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.

PHP/FI


В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI ({{lang-en|Personal Home Page / Forms Interpreter}} — «Личная Домашняя Страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных в стиле Perl ($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML-текст и многое другое. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.

PHP 3


PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski), два разработчика из израильского института технологий (Technion), переписали код с нуля: разработчики сочли PHP/FI 2.0 непригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета расположенного в Хайфе, Израиль. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.

Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто PHP — аббревиатура, содержащая рекурсивный акроним ({{lang-en|PHP: Hypertext Preprocessor}} — «PHP: Препроцессор Гипертекста»).

К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали о том, что они работают с использованием этого языка. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

PHP 4


К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Обновления PHP 4 будут выпускаться только до конца 2007 годаНовость с официального сайта PHP{{ref-en}}. До этого же времени будет осуществляться официальная поддержка четвертой версии. Далее до 8 августа 2008 года по мере необходимости будут появляться только критические обновления безопасности. С 9 августа четвертая версия PHP уйдет в историю.

PHP 5


Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка.
На данный момент самыми стабильными и часто используемыми являются именно версии 5.xx, даже несмотря на то, что уже имеется dev-версия PHP 6.

PHP 6


Шестая версия PHP находится в стадииКоличество переписанных функций с поддержкой Юникода разработки с октября 2006 года. В ней уже сделаноФайл news.txt из дистрибутива PHP 6 множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, php_magic_quotes и register_globals из конфигурационного файла php.ini. Также много внимания уделено поддержке Юникода.Полный список изменений, которые были запланированы в декабре 2005 года. Загрузить текущую версию разрабатываемого кода для GNU/Linux/BSD и скомпилированные версии для Microsoft Windows можно на сайте PHP Snapshots.

Синтаксис



Простейшая программа Hello world на PHP выглядит следующим образом:

echo "Hello, world!";
?>

PHP исполняет код, находящийся внутри ограничителей, таких как . Всё, что находится вне ограничителей, выводится без изменений. В основном, это используется для вставки PHP-кода в HTML-документ, например так:




Тестируем PHP





Имена переменных начинаются с символа $, тип переменной объявлять не нужно. В отличие от имён функций и классов, имена переменных чувствительны к регистру. Переменные обрабатываются в строках, заключённых в двойные кавычки, и heredoc-строках.

PHP рассматривает переxод на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев.

PHP поддерживает три типа комментариев: в стиле языка Си (ограниченные /* */), C++ (начинающиеся с // и идущие до конца строки) и оболочки UNIX# до конца строки).

Типы данных


Диапазон целых чисел в PHP зависит от платформы (обычно это диапазон 32-битных знаковых целых чисел). Числа можно задавать в десятичной, восьмеричной и шестнадцатеричной системах счисления. Диапазон вещественных чисел также зависит от платформы.

В PHP есть булевский тип, имеющий значения TRUE («истина») и FALSE («ложь»). При преобразовании в булевский тип число 0, пустая строка и пустой массив считаются FALSE.

Тип NULL представляет переменную без значения. Единственным значением этого типа является NULL.

Ссылки на внешние ресурсы представляются значениями типа «ресурс». Они, как правило, создаются и обрабатываются функциями из определённых расширений. Примерами ресурсов являются файлы, изображения, базы данных.

Массивы поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется.

Пасхальные яйца

PHP имеет несколько пасхальных яиц (шуток).

Если передать любому php-скрипту в PHP4 специальное значение, можно увидеть авторскую фотографию (обычно фотография чёрного терьера).

любой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

Если же этот код передать в PHP 5, то увидим несколько «корявый» логотип PHP.

Также имеется специальное значение для отображения списка всех авторов PHP (4,5):

любой_сценарий.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Примечания



Популярные приложения


{{sect-stub}}

IDE для PHP

|-----
| PHP Expert Editor
| Бесплатно (для всех жителей бывшего СССР)
| есть
|+

Название
Распространение
Отладка
Maguma PHP Open Studio
OpenSource
есть
Komodo IDE
Пробная версия
есть
Komodo Edit
Бесплатно
нет
PHP Development Tools
Свободное ПО
есть
Zend Studio
Пробная версия
есть
phpDesigner
Пробная версия
нет

См. также


Ссылки


Литература


  • {{книга

|автор = Кристиан Уэнц
|часть =
|заглавие = PHP. Карманный справочник
|оригинал = PHP Phrasebook
|издание =
|место = М.
|издательство = «Вильямс»
|год = 2007
|страницы = 384
|isbn = 0-672-32817-8
}}

  • {{книга

|автор = Эд Леки-Томпсон, Алек Коув, Стивен Новицки, Хьяо Айде-Гудман
|часть =
|заглавие = PHP 5 для профессионалов
|оригинал = Professional PHP 5
|издание =
|место = М.
|издательство = «Диалектика»
|год = 2006
|страницы = 608
|isbn = 0-7645-7282-2
}}

  • {{книга

|автор = Кузнецов Максим, Симдянов Игорь
|часть =
|заглавие = Самоучитель PHP 5
|оригинал =
|издание = 2-е изд., перераб. и доп.
|место = Спб.
|издательство = «БХВ-Петербург»
|год = 2006
|страницы = 608
|isbn = 5-94157-884-9
}}

  • {{книга

|автор = Кузнецов Максим, Симдянов Игорь, Голышев Сергей
|часть =
|заглавие = PHP 5. Практика создания Web-сайтов
|оригинал =
|издание =
|место = Спб.
|издательство = «БХВ-Петербург»
|год = 2005
|страницы = 960
|isbn = 5-94157-552-1
}}

  • {{книга

|автор = Кузнецов Максим, Симдянов Игорь
|часть =
|заглавие = Головоломки на PHP для хакера
|оригинал =
|издание =
|место = Спб.
|издательство = «БХВ-Петербург»
|год = 2006
|страницы = 464
|isbn = 5-94157-837-7
}}

  • {{книга

|автор = Кузнецов Максим, Симдянов Игорь, Голышев Сергей
|часть =
|заглавие = PHP 5 на примерах
|оригинал =
|издание =
|место = Спб.
|издательство = «БХВ-Петербург»
|год = 2005
|страницы = 576
|isbn = 5-94157-670-6
}}

  • {{книга

|автор = Дмитрий Котеров, Алексей Костарев
|часть =
|заглавие = PHP. В подлиннике
|оригинал =
|издание =
|место = Спб.
|издательство = «БХВ-Петербург»
|год = 2005
|страницы = 1120
|isbn = 5-94157-245-Х
}}

{{Языки программирования}}

Категория:Объектно-ориентированные языки программирования
Категория:Веб-программирование
*
Категория:Свободное программное обеспечение
Категория:Скриптовые языки
Категория:Интерпретируемые языки программирования
Категория:Языки с динамической типизацией

af:PHP
als:PHP
an:PHP
ar:??.???.??
az:PHP
bat-smg:PHP
bg:PHP
bn:???????
br:Areg PHP
bs:PHP
ca:PHP
cs:PHP
cy:PHP
da:PHP
PHP
el:PHP
PHP
eo:PHP
es:PHP
et:PHP
eu:PHP
fa:???? ???????????? ????????
fi:PHP
PHP: Hypertext Preprocessor
gl:PHP
he:PHP
hi:??????
hr:PHP
hu:PHP
id:PHP
is:PHP
it:PHP
ja:PHP: Hypertext Preprocessor
ka:PHP
kk:PHP
ko:PHP
ku:PHP
la:PHP
lb:PHP
lt:PHP
lv:PHP
mk:PHP
ms:PHP
nl:PHP
no:PHP
pl:PHP
pt:PHP
ro:PHP
sh:PHP
simple:PHP
sk:PHP (programovac? jazyk)
sl:PHP
sq:PHP
sr:PHP
sv:PHP
tg:PHP
th:???????????
tr:PHP
uk:PHP
vi:PHP
vls:PHP
zh:PHP
zh-min-nan:PHP
zh-yue:PHP