PHP


PHP


PHP – скриптовый язык программирования, который достаточно активно применяется для разработки веб-приложений. Лидирует в сфере создания динамических сайтов. Поддерживается практически всеми хостинг-провайдерами. Был разработан командой энтузиастов, распространяется под собственной лицензией, которая не совместима с, которая не совместима с GNU GPL

Проще говоря, язык программирования PHP разработан специально для создания web-сценариев для последующего их исполнения на Web-сервере.

Название PHP первоначально произошло от английского Personal Home Page Tools, позже было переименовано в  Hypertext Preprocessor, то есть «препроцессор гипертекста».

Одним из наиболее значительных преимуществ PHP перед таким языками, как например, С и Perl, является возможность создавать HTML-документы с внедренными командами PHP. Еще одно важное преимущество PHP – это то, что скрипты выполняются на стороне сервера. Таким образом, возможно обработать HTML-файлы процессором PHP так, что клиенты даже не смогут распознать, получили ли они HTML-файл либо выполненный скрипт.

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

Кроме того, язык PHP не стоит на месте и совершенствуется в соответствии со все возрастающими запросами.




История создания и развития


Первая версия PHP была разработана в 1994 году, по сути, для личного использования: программист Расмус Лердорф (Дания) разместил в сети свое резюме и для того, чтобы всегда быть в курсе, кто и когда его просматривал, создал набор скриптов на Perl. Свою придумку Лердор и назвал PHP - Personal Home Page, то есть «Личная Домашняя Страница».

Вскоре, правда, скорости Perl перестало хватать, и датчанин придумал новый интерпретатор шаблонов с неоригинальным названием PHP/FI, где FI – это Forms Interpreter, то есть «интерпретатор форм». Написан он был на сей раз на C.

С 1997 года обработчик начал распространяться. Второй его версией (PHP/FI 2.0, также написанной на С) уже использовало 50 тысяч доменов. Правда, в мировых масштабах эта цифра составила всего 1% от существующих в мире доменов.

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

Благодаря тому, что к работе над PHP быстро подключилось немало разработчиков, язык стал стремительно развиваться и набирать популярность. Кстати, именно с третьей версии PHP перестало расшифровываться как «Личная Домашняя Страничка», и было презентовано в качестве акронима ««PHP: hypertext Preprocessor».

В 1999 году Гутманс и Сураски разработали новый движок, Zend Engine, который обеспечивал более высокую производительность при разработке сложных приложений. Собственно PHP 4.0, базирующийся на данном движке, был представлен только в мае 2000 года. Кроме абсолютно нового движка, были внедрены и другие новшества (такие как, например, поддержка сессии, более-менее безопасные методы для обработки информации, которую вводит пользователь, новые языковые конструкции и т.д.).

В 2004 году ядро было снова обновлено – 13 июля вышла пятая версия PHP 5.0. Благодаря движку Zend Engine 2 производительность была еще увеличена. Кроме того, существенно расширились возможности интерпретатора. Например, он стал поддерживать язык разметки XML. Также разработчики добавили закрытые, защищенные и открытые члены и методы, окончательные члены и методы, деструктор, возможность клонирования объектов и интерфейсы.
Работа над шестой версией PHP была начата в октябре 2006 года и предусматривала множество изменений. Среди прочего предлагалось ввести поддержку Юникода. Тем не менее, с реализацией данной идеи возникли проблемы, поэтому разработки в данном направлении были признаны неэффективными.
Следующей рабочей версией PHP стала версия 5.4.

Набор средств для работы

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

Наиболее используемые средства PHP:

- возможность взаимодействовать с огромным количеством систем управления базами данных (такими как Oracle, Microsoft SOL, ODBC, FrontBase, DB++, MySQL и мн. др.);
- автоматизация процессов извлечения GET-параметров, POST-параметров и переменных окружения в предопределенный массив;
- автоматическое отправление HTTP-заголовков;
- возможность работы с удаленными файлам, сокетами, локальными файлами;
- работа с HTTP-авторизацией;
- возможность проводить работу с cookies;
- возможность обрабатывать файлы, которые загружаются на сервер;
- работа с XForms.

Благодаря этим и многим другим возможностям, язык PHP занимает шестое место по популярности среди языков программирования (согласно данным корпорации TIOBE на декабрь 2012 года). PHP используют такие крупные сайты как Facebook, Википедия и многие другие.

GUI-приложения

Несмотря на то, что PHP нечасто используется для создания GUI-приложений, он вполне эффективен в данном качестве. Существуют пакеты PHP-GTK и PHP-Ot, которые служат для того, чтобы создавать кроссплатформенные приложения. По сути, данные пакеты – это обертки для библиотек виджетов.

Кроме того, существует и пакет PHP для NET/Mono – Phalanger, с помощью которого, в компиляции с PHP-кодом, может быть создано практически любое серверное либо настольное приложение .NET.

Возможно создавать и графические приложения в Windows – для этого служит пакет WinBinder, а также интегрированная среда Devel Studio.

Синтаксис PHP

Язык PHP по синтаксису похож на С, но при этом существуют и заимствования из языка Perlр – например, цикл foreach.

Для сокращения при записи конструкции используется тег <?=. Исполняется же код, который находится внутри ограничителей – <?php ?>. Собственно, с него и может начинаться любая программа. Все данные, которые располагаются вне ограничителей, будут выводиться без изменений. В ранних версиях допускалось использование и некоторых ограничителей ASP – таких как <% %>.

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

Так же, как в HTML и в прочих  языках со свободным форматом, в PHP переход на новую строку рассматривается как пробел. Также PHP поддерживает комментарии трех типов:

1.    В стиле языка С с ограничителями /* */
2.    Комментарии в С++, в начале обозначенные // и продолжающиеся до конца строки
3.    В стиле оболочки UNIX, начинающиеся с # и идущие до конца строки.

Типы данных

Язык программирования PHP не требует указания типа переменных, поэтому скалярные типы преобразуются неявно. Однако, в PHP вполне возможно производить и явное преобразование.

Скалярные типы данных:

•    Integer - целый тип
•    double, float – вещественный тип
•    boolean – логический тип
•    string – строковый тип
•    NULL – специальный скалярный тип

Диапазон Integer в PHP обычно составляет от −2 147 483 648 до 2 147 483 647, однако зависит также и от платформы. Могут использоваться числа десятичной, восьмеричной или шестнадцатеричной системах измерения. Double позволяет оперировать вещественными числами в диапазоне от ±1.7×10−308 до ±1.7×10+308

Данные логического типа могут иметь только одно из двух значений – TRUE либо FALSE («истина» либо «ложь»). Тип данных NULL обозначает данные без конкретного значения.

Нескалярные типы данных:

•    resource, то есть ресурс
•    array – массив
•    object – объект

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

Существуют также и псевдотипы:

•    Mixed – необязательные параметры, один или несколько
•    Number – число (integer или float)
•    Callback (анонимная функция либо string)
•    Void, то есть отсутствие параметров.

Особенности работы интерпретатора

PHP-скрипты обрабатываются интерпретатором в таком порядке, который обеспечивает кроссплатформенность готового приложения.

Порядок обработки скриптов:

1.    лексический анализ исходного кода, генерация лексем
2.    синтаксический анализ лексем
3.    генерация байт-кода
4.    выполнение байт-кода

С целью ускорить скорость работы приложений возможно использовать специальное ПО – акселераторы. Они кэшируют единожды сгенерированный байт-код в памяти либо на диске (или и там, и там), благодаря чему выполнение первого, второго и третьего этапов становится ненужным.

Расширения

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

Режимы работы

Интерпретатор PHP может использоваться несколькими способами.

1.    Как модуль к веб-серверу – наиболее распространенный метод с наибоеле простой конфигурацией.
2.    Как CGI – при вызове скрипта веб-сервер вызывает /usr/bin/php-cgi /path/to/script.php, и создается новый процесс. Более современные варианты – FastCGI и SCGI – позволяют не производить постоянный вызов, а перезапускать интерпретатор PHP только в том случае, если текущие FastCGI-процессы находятся в работе и после освобождения будут загружены новыми задачами снова. Процессы, превысившие время жизни, время простоя или отработавшие заданное количество запросов, завершаются принудительно.
3.    В качестве исполняемого файла – скрипта командной строки. Он вызывается пользователем и выполняется в окружении вызвавшего его пользователя. В таком случае PHP используется дл решения административных задач в ОС Linux, UNIX, Mac OS X, Microsoft Windows и AmigaOS.

"Пасхалки" в PHP

В PHP заложено несколько шуток – так называемых «пасхальных яиц».  Они выводят различные изображения (зависит от версии), если любому PHP-скрипту будут переданы специальные GET-параметры.

Например, введя в адресную строку браузера значение любой_сценарий.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42, можно увидеть фотографию таксы, кролика, черного терьера либо игрушечного синего слона, а также изображение искаженного лого PHP.

Кроме того, существует значение, которое позволяет просмотреть список всех авторов PHP: любой_сценарий.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000. Не то, чтобы это было сильно смешно, но может быть вполне познавательно. Работает только в версии 4.5.





Это нравится:0Да/0Нет

Новые темыОбъявленияСвободное общение
00:35 Что с яндексом почему все страницы добавляет в поиск с пометкой "Канонический адрес не указан" 
21:19 Доступ к сайту 
20:05 Работает ли ссылочное продвижение 2019 – 2020? 
13:07 DreamCash.tl - заработок на онлайн-видео. До 95% отчислений, отличный конверт! 
11:58 Сайт прыгает по выдаче +-100 
11:35 Quick Sender Ultra - Многопоточная программа для раскрутки и продвижения Вконтакте 
17:08 Рекламная сеть яндекса личный опыт 
20:39 Сервис вытягивания – повышения запросов в ТОП Яндекса. 
19:58 Рерайт 10р/1к 
19:42 Напишу для вас тексты 
19:37 Пишу уникальные тексты - ищу постоянку - удаленно! 
18:44 Услуги постинга в социальные сети для продвижения, индексации и увеличения социальной активности 
18:34 Комплексная раскрутка сайтов. Качественные услуги, прогоны и прочее. (3000+ отзывов) 
18:08 Нужен человек со знанием фотошоп 
20:28 Оцените пожалуйста сайт о ЗОЖе 
20:24 Нужен софт (Спамер) 
20:01 Кто работал с данной биржей proflinks? 
13:45 Где покупаете подарки на Новый год? 
01:00 Заработать 50 рублей за один пост 
19:35 О распределении работы... 
14:42 Accvk.ru - магазин самых надёжных аккаунтов вконтакте и других социальных сетей [без владельцев]