Пасхальные яйца в PHP / Habr

Пожалуй, всем известно, что сегодня, 4 апреля 2010 года, и католики и православные отмечают Пасху. Пользуясь случаем, я решил написать статью о пасхальных яйцах, только не таких, которые красят, а о тех, происхождение которых связано с тематикой Хабра. Речь пойдёт о пасхальных яйцах языка PHP.

Вкратце: Оказывается, если добавить особую строчку к GET-запросу, обрабатываемому интерпретатором PHP, можно заставить сервер вернуть «секретную» картинку, либо информацию о разработчиках PHP. Примеры:
http://vkontakte.ru/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
http://ru.wikipedia.org/?=PHPE9568F35-D428-11d2-A769-00AA001ACF42
http://www.liveinternet.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

В чём желток соль?

Сразу хочется подчеркнуть, что пасхальные яйца PHP, о которых пойдёт речь, абсолютно безобидны. Их существование никак не может отрицательно сказаться на работе сайта. Как я уже сказал, существует несколько особых строчек (назовём их сигнатурами), добавление которых к запросу ВНЕЗАПНО меняет ответ сервера. Синтаксически сигнатура должна являться значением безымянной и единственной GET-переменной (например, mypage.php?=×××).

Вот эти самые сигнатуры и результаты их вставки:

  1. PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 — список разработчиков PHP (PHP Credits).

     
  2. PHPE9568F34-D428-11d2-A769-00AA001ACF42 — логотип PHP.
     
                                                           
     
  3. PHPE9568F35-D428-11d2-A769-00AA001ACF42 — логотип Zend.
     
                                                           
     
  4. PHPE9568F36
    -D428-11d2-A769-00AA001ACF42 — забавная картинка, отличающаяся в разных версиях PHP:
Подробнее о соответствии версий PHP и этих картинок можно посмотреть в одной англоязычной статье на эту тему на сайте 0php.com. Жалко, что не получилось абсолютно точно установить зависимость, потому что на официальном сайте PHP CVS-log файла, где хранятся изображения, не работает. Прошу прощения, если я где-то ошибся.

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

Как это работает?

Код-виновник всех этих «чудес» довольно несложно найти в исходниках интерпретатора.

Сами сигнатуры описаны в файле ext/standard/info.h

в строчках 53−56:

#define PHP_LOGO_GUID "PHPE9568F34-D428-11d2-A769-00AA001ACF42"
#define PHP_EGG_LOGO_GUID "PHPE9568F36-D428-11d2-A769-00AA001ACF42"
#define ZEND_LOGO_GUID "PHPE9568F35-D428-11d2-A769-00AA001ACF42"
#define PHP_CREDITS_GUID "PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000"

За возврат необычных ответов на необычные запросы отвечает функция php_handle_special_queries() совместно с функциями php_info_logos() и php_print_credits(). В свою очередь, php_handle_special_queries() вызывается внутри функции php_execute_script().

Все три изображения (логотип Zend, логотип PHP, забавная картинка) имеют формат GIF и хранятся в виде массивов байт в файле

main/logos.h.
 

Можно ли как-то это отключить?

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

Достаточно открыть у себя на сервере файл php.ini, найти параметр expose_php и поменять его значение на «off»:

expose_php = off

После перезагрузки веб-сервера картинки и страница с информацией о разработчиках перестанут появляться — необычные запросы начнут обрабатываться в обычном режиме. Также сервер прекратит добавлять строку «
X-Powered-By: PHP/×.×.× ...
» в HTTP-заголовки ответов, упоминание о PHP уберётся из строки «Server: ...» (если оно сейчас там есть).

Избавившись от этого «ужасного хака», Вам удастся всего лишь скрыть факт того, что Ваш сайт использует PHP. Конечно, это относится только к проектам с ЧПУ (да и то далеко не всем). Если же ссылки на Вашем сайте имеют вид «my_cosy_guestbook.php?do=delete_all», Вас это, естественно, не спасёт. Перед поиском и изменением файла php.ini обязательно не забудьте для себя ответить на вопрос: «А оно мне надо?».
 

Применение в хозяйстве

Несмотря на кажущуюся бесполезность, у описанного пасхального яйца есть практическое применение. Если на своём сайте вывести информацию о системе с помощью функции phpinfo(), Вы увидите логотипы PHP и Zend, а также ссылку «PHP Credits». По какому URI будут запрошены картинки, и куда будет вести ссылка на список разработчиков, догадаться теперь совсем несложно. Ресурсы получаются доступными, даже если сайт тестируется на локальной машине, не имеющей доступ в Интернет. Это работает только при включенной опции expose_php (иначе картинки и ссылка не отображаются). Вот рабочий пример: www.it.tsu.ge/info.php (сайт не мой, я просто разместил объяву ссылку). Ещё пример: hosting.iptcom.net/phpinfo.php (оказывается, картинка с логотипом Zend была совсем другой в версии PHP 4.4.4). Пример сайта с выключенной опцией
expose_php
на сервере: help.secureserver.net/linux-phpinfo.html.
 
Яйцо-бонус

Изучая исходники PHP, я случайно наткнулся на источник ещё одного забавного секрета, несколько раз упомянутого в Интернете. Оказывается, что 1 апреля логотип, генерируемый функцией php_logo_guid(), заменяется забавной картинкой (как для случая с сигнатурой PHPE9568F36-D428-11d2-A769-00AA001ACF42). Получается, что в этот день логотип поменяется и на странице, полученной с помощью phpinfo().

В исходниках версии 5.2.13 за это «яйцо» отвечают строчки 1237-1238 файла ext/standard/info.c

. Жаль, что увидеть в действии его можно только почти через год. Хотя, нетерпеливые товарищи в любой момент могут поменять системную дату. 😉
 

Яйцо-бонус № 2

К концу написания статьи выяснилось, что есть ещё одна сигнатура, которая работает в PHP 5. Для этого пасхального яйца нужно, чтобы было включено расширение Suhosin (оно используется для усиления безопасности PHP). Сигнатура такая: SUHO8567F54-D428-14d2-A769-00DA302A5F18. Результатом добавления её в запрос является картинка с тремя иероглифами, которые переводятся с корейского примерно как защитник или ангел-хранитель.
 
                                                            
 
Этот пример не работает на php.net, зато прекрасно демонстрируется на сайте php.ru и на «горячо любимом» всеми нами ВКонтакте (через раз, так как Suhosin установлено не на все серверы).
 
Вывод

Хорошо, когда люди, разрабатывающие серьёзные вещи, имеют чувство юмора и позволяют себе безобидно пошутить. К тому же пасхальные яйца — неплохая вирусная реклама своего продукта (фактически, я сейчас бесплатно рекламирую PHP). Главное здесь для разработчиков — не переусердствовать.

P.S.: Я понимаю, что для некоторых хабровчан описанный факт покажется бородатым и неинтересным, но уверен, что кто-то слышит о пасхальных яйцах в PHP впервые. Лично я узнал обо всём этом совсем недавно, хотя первый мой php-файл был создан около 5 лет назад.

Если сегодня найдутся желающие написать про пасхальные яйца в других средах или языках программирования, можно устроить целый пасхальнояичный день на Хабре, Главное — чтобы потом НЛО по голове на настучало за оффтоп и не разместило на главной фразу «Прекращайте уже писать про яйца!». 🙂


Ссылки на источники и ресурсы:
ru.wikipedia.org/wiki/PHP, blogoscoped.com/archive/2006-01-08-n31.html, www.0php.com/php_easter_egg.php, www.drupal.ru/node/19682, php.net, commons.wikimedia.org/wiki/File:Vajicka1.jpg; картинки лежат на imageshack.

habr.com

не все так однозначно? / Хабр

Привет, Хабр! Представляю вашему вниманию перевод статьи «PHP in decline: The rise and fall of a programming language» автора Сара Шлотхауэр (Sarah Schlothauer).

Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продолжает терять свою былую популярность. Это особенно заметно при его сравнении с Python, а также рядом других языков программирования. Индекс TIOBE за сентябрь 2019 года ясно указывает на то, что PHP вполне может вылететь из десятки наиболее востребованных языков программирования.

Пора ли заказывать по умершему панихиду? Или наш «феникс» еще будет летать?

PHP уверенно следует по траектории падения своего индекса TIOBE, заданной еще пять лет назад. В частности, показатели индекса TIOBE за сентябрь 2019 года говорят о том, что за последние 12 месяцев этот язык программирования опустился в списке на две позиции — с 7 на 9 место.

Ниже приведен скриншот индекса TIOBE Index за сентябрь 2019 (источник):

Что касается языков-«новичков», то в этом месяце под номером 11 в списке дебютирует Apache Groovy.

В прошлом году он занимал скромное 34-е место, поэтому его нынешняя позиция в списке является, несомненно, большим успехом. Groovy в некотором смысле похож на Java, что позволяет Java-разработчикам легко освоить этот язык и интегрировать его с Java/библиотеками сторонних разработчиков.


Причины снижения популярности PHP

На заре юности Интернета PHP был очень популярен. В 2004 году он даже стал языком года по версии индекса TIOBE (согласитесь, что сейчас об этих славных временах мало кто вспомнит).

Что же привело PHP к такому печальному финалу?

Собственно, процитируем непосредственно сам индекс TIOBE:

«До конца 2009 года все было отлично, но затем, за два года, этот язык программирования потерял половину своей доли рынка, которая снизилась с 10 до 5%. В 2014 произошло еще одно двукратное уменьшение сегмента рынка, на котором господствовал PHP — до 2,5%. Что же произошло с этим языком программирования? Недостатком PHP являлась его уязвимость в вопросах безопасности, которая была, в свою очередь, производной его простоты. При этом PHP мучительно долго боролся с этим недостатком. В частности, в 2014 году основной идеолог использования PHP — компания Facebook — запустила Hack, намереваясь заменить им PHP, так как последний не мог обеспечить должную масштабируемость. К тому же к этому времени в качестве универсальных языков веб-разработки начали использовать JavaScript, TypeScript и Python».


Взлеты и падения

Недавнее видео на Reddit от Global App Testing наглядно иллюстрирует историю расцвета и упадка различных языков программирования за последние 10 лет. На видео указаны самые популярные языки на StackOverflow с 2008 года. Посмотрите его — оно не столько информирует нас о сухих фактах и цифрах, сколько завораживает своей подачей графической информации.

На видео видно, о каком языке программирования было задано больше всего вопросов.

Вы удивитесь, но несколько раз за свою историю PHP был популярнее Java! Словно на ипподроме, кажется, что лошадка с кличкой PHP вот-вот станет первой. Однако примерно с сентября 2016 года нашего фаворита начинает обгонять Python, после чего PHP уже не суждено оправиться от полученной бреши в броне. История языка начинает плавно идти по наклонной.


Ну что, конец?

Перефразируя строки известной песни «Чайфа», «не спеши ты его хоронить». Да, PHP существенно потерял в популярности, но сообщество программистов на этом языке живет и здравствует.

Конференции по PHP проходят по всему миру. Только за последний год PHP стал центральной темой митапов и встреч программистов в Японии, Бразилии, Украине, Германии, Китае, США и на Тайване.

Кроме того, официальный Твиттер-аккаунт php.net в настоящий момент насчитывает 67.7 тысяч подписчиков. Кроме того, 5 сентября 2019 года вышел последний релиз языка PHP — версии 7.4. При этом Reddit-аккаунт PHP насчитывает 105 тысяч членов, активно обсуждающих соответствующие фреймворки, IDE, а также последние новости из мира PHP.

Не стоит также упускать из виду и другие показатели популярности PHP. Свежий отчет IEEE Spectrum зафиксировал 13-е место PHP в своем рейтинге, где «соседями» этого языка программирования стали Assembly (этажом ниже) и HTML/CSS (этажом выше).

Если вы все еще беспокоитесь о «здоровье» PHP, беспокоиться не о чем, потому что в рейтинге языков программирования RedMonk за июнь 2019 года PHP занимает 4 место!

Ниже приведен скриншот рейтинга языков программирования RedMonk Q3 2019 Programming Language Rankings (источник):


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

Да и вообще вы видели символ языка PHP? Лично ВЫ готовы похоронить эту милую зверюшку?

habr.com

curl -F, что это значит? php instagram PHP Lang

Я пытаюсь понять, что это значит? Я хочу, чтобы иметь возможность опубликовать что-то в API Instagram, но не уверен, что означает curl -F? Я попытался найти его в google, но это не дает мне многого. Может, кто-то с этим вопросом может просветить какой-то свет?

Кроме того, что такое лучший способ опубликовать в Instagram с помощью этого метода? Документация запрашивает

curl – это утилита linux, которая имитирует веб-запросы. Выдача команды curl -F HTTP-запрос с данными представления формы. В этом случае данными формы являются data access_token=ACCESS-TOKEN и он выдается на адрес https://api.instagram.com/v1/media/{media-id}/likes

Дополнительная информация о том, что такое cURL, и что она делает, можно найти по адресу http://curl.haxx.se/docs/manpage.html.

От man curl :

  -F, --form <name=content> (HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC 2388. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file. Example, to send your password file to the server, where 'password' is the name of the form-field to which /etc/passwd will be the input: curl -F password=@/etc/passwd www.mypasswords.com To read content from stdin instead of a file, use - as the filename. This goes for both @ and < constructs. You can also tell curl what Content-Type to use by using 'type=', in a manner similar to: curl -F "[email protected];type=text/html" url.com or curl -F "name=daniel;type=text/foo" url.com You can also explicitly change the name field of a file upload part by setting filename=, like this: curl -F "file=@localfile;filename=nameinpost" url.com See further examples and details in the MANUAL. This option can be used multiple times.

-F эмулировать заполнение пользователем формы и отправку.

Вы можете найти это на странице man curl в вашей системе. Если он поддерживает этот параметр, он будет иметь запись на странице руководства.

Это не вопрос программирования, но я могу дать вам несколько советов, которые помогут вам на вашем пути.

-F говорит завиток, чтобы эмулировать заполненную форму HTML, которая только что нажала кнопку отправки.

Посмотрите на эту страницу: http://curl.haxx.se/docs/manpage.html

И прокрутите вниз или найдите бит, называемый

 '-F, --form <name=content>' 

Поскольку это детализирует его с большей сложностью

ruphp.com

Файл index.php — что это и зачем?

Для того, чтобы понять эту статью, вам уже нужно быть знакомым с PHP хотя бы на самом базовом уровне, быть чуть-чуть знакомым с консолью и очень желательно уже уметь запускать простые программы на PHP. Но я попытаюсь всё это объяснить еще раз.

Давайте разберемся, что такое файл index.php. Если говорить формальное — это стартовая точка запуска программы на PHP. Это очень важно, хотя и звучит не очень понятно. Чтобы разобраться, что такое index.php, сначала нужно коротко понять как работает сам PHP.

Возможно, вы уже знаете, что PHP — это язык программирования. Любой язык программирования работает не сам по себе, а выполняет инструкции, написанные программистом, которые обычно называются «исходными кодами» (source code). Исходный код, по сути — это и есть программа. Так вот, исходный код программы не обязал содержаться в одном файле. Он может находиться в разных файлах. И у этих файлов могут быть любые имена.

Тогда почему есть файл, который обязан называться index.php? Это уже относится только к PHP. Дело в том, что PHP должен знать, как именно запустить вашу программу. Ему нужно указать, откуда она начинается. Здесь в дело вступает файл index.php: его название указывает на то, что его нужно запустить первым. Тут не надо думать, надо просто запомнить: если в каталоге есть 1000 файлов с PHP-кодом и один файл index.php, то вся программа начнется с него, он запустится первым.

Тут придется немного углубиться в тему. Дело в том, что поиском файла index.php занимается не сам PHP. Давайте предположим, что вы сделали простой сайт. И он находится в каталоге /var/www/yourawesomewebsite.ru/public_html/ (не удивляйтесь отсутствию буквы диска в начали пути — это пути до файлов в linux-системах). В настройках вашего сайта для вашего веб-сервера (apache или nginx) указано, где его искать. Веб-сервер — это просто программа, которая принимает сетевые запросы (из браузера, в данном случае).

Таким образом, когда пользователь в браузере откроет ссылку http://yourawesomewebsite.ru/ (домен только для примера!) — на самом деле запрос придет к вашему серверу, запустится ваш веб-сервер (nginx или apache) и уже он обратится в каталог /var/www/yourawesomewebsite.ru/public_html/, найдет там файл index.php, «прогонит» код через PHP и выдаст результат обратно пользователю. Эта тема требует несколько углубленного изучения, но основные идеи я вам рассказал. Пишите вопросы в комментариях.

Как и все остальные файлы исходных кодов — файл index.php является простым текстовым файлом. Чтобы создать файл index.php, потребуется всего лишь создать обычный текстовый файл. Вы можете использовать для этого любой текстовый редактор, который вам нравится (и который сохраняет в результате plain text, конечно). Например «Блокнот» в Windows, Sumlime Text (который я рекомендую), командную строку сервера и так далее.

Давайте создадим index.php, который в результате своей работы посчитает сумму двух чисел? Для этого откройте текстовый редактор, о котором мы говорили. Напишите туда следующий код:

<?php
$a = 10;
$b = 20;
echo $a + $b;

Закрывающий тег PHP ?> ставить не обязательно. Когда возможно (если весь файл состоит из PHP-кода, например) — лучше его не ставить, это удобно.

Теперь сохраните этот файл с названием index.php. Далее давайте запустим его через интерпретатор PHP. Для этого в консоли выполните команду:


cd /var/www/yourawesomewebsite.ru/public_html/
$ php index.php

Обратите внимание, что у вас должен быть настроен PHP соответствующим образом, чтобы делать такой запуск. Путь до файла php.exe (или php в linux) должен быть прописан в PATH для вашего окружения. Иначе напишите полный путь до интерпретатора PHP.

Если вы начинающий программист, я рекомендую вам разобраться и установить Linux на свой компьютер (удалять Windows при этом не обязательно). Дело в том, что все сервера работают на linux и вам придется столкнуться с ним рано или поздно. Лучше — рано, еще и потому, что работать в linux (когда вы с ним разберетесь) банально удобнее, он лучше приспособлен для программирования. А какой-нибудь nginx в Windows, например, вообще установить невозможно (придется сильно помучиться).

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

Как я уже сказал, в настройках конкретного сайта для веб-сервер всегда должно быть указано, в каком каталоге располагается сайт. Именно в нем веб-сервер начнет искать файл index.php. Но если такой файл отсутствует, то веб-сервер попробует найти файл index.html или index.htm (всё это, конечно, настраивается). Поэтому название файла index.php — это прямая калька с файла index.html, который является «стартовым» для сайта, написанного на чистом HTML (представляете, такие были).

Во-вторых, даже если вы всё настроили правильно, вы должны быть уверены, что веб-сервер имеет соответствующие права, чтобы открыть ваш файл index.php. Почитайте что-нибудь про «Права и доступы в Linux», ничего конкретного порекомендовать я тут не могу.

Если вы добавите HTML в пример с подсчетом чисел (см. выше), то при открытии через интерпретатор (то есть через консоль) вы не увидите HTML-страницу. HTML обрабатывается только браузером, поэтому в этой статье я приводить такой пример не стал.

Умоляю, не пишите говно-код на PHP. Выучите язык хорошо перед тем, как начинать работать. Я так устал рефакторить говно, написанное идиотами… 🙂 Это тема заслуживает отдельной статьи, пожалуй.

developernotes.ru

Что такое PHP

Из истории 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
echo "Привет Мир!";
?>

Вышеуказанный код выведет на странице текст:

Привет мир!

Демонстрация Скачать исходники
Где и как открывать файлы PHP, что ещё позволяет данный язык — всё это мы рассмотри в следующих уроках!

Спасибо за внимание!

tradebenefit.ru

PHP — что это такое и как использовать PHP? | Сайтостроение

Доброго времени суток, уважаемые читатели блога SoftMaker.kz. На этом сайте уже есть статьи о PHP и приведены Примеры программирования в PHP. А сейчас мы поговорим, что же такое PHP.

Что такое PHP и что с помощью него можно делать?

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

PHP — серверный язык

PHP известен, как серверный язык программирования. Это означает, что он работает на веб сервере. Большинство языков веб-программирования являются серверными языками, но некоторые, например, JavaScript, работают на стороне клиента, это означает, что они работают в веб-браузере.

Серверные языки дают вам больше гибкости, так как вы можете то, что трудно осуществить с помощью JavaScript — например, работа с файлами, базами данных, или работа с изображениями. Нужно сказать, что JavaScript распространился очень быстро в наши дни.

Выполнение кода со стороны сервера является более безопасным способом, чем на стороне клиента, как это делает JavaScript. Поскольку код JavaScript отправляется в веб-браузер, для посетителей сайта легко его просмотреть и редактировать. Даже на одной странице сайта можно с легкостью совмещать PHP и JavaScript. Код находящийся на стороне сервера остаётся веб-сервере и недоступен для посетителей сайта. PHP это инструмент, который находится на веб-сервере и там выполняет PHP скрипты.

PHP — программное обеспечение с открытым исходным кодом

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

PHP ориентирован на разработку веб-приложений

В то время как многие языки программирования могут быть использованы для создания веб-приложений, PHP является одним из языков специально разработаных для использования в Интернете. PHP имеет множество полезных веб-функций таких, как:

  • Считывание и обработка веб-форм и куки-файлов
  • Функции создания и работы с графикой
  • Установка связи с популярными базами данных такими, как MySQL и
  • Функции для работы с HTML.

Вы можете смешивать PHP код с HTML-кодом

Одной из замечательных функцией PHP является то, что вы можете включить блоки PHP кода в HTML-страницы.

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

Эта функция позволяет легко делать интерактивными обычные веб-страницы. Отличный инструмент для форм с обратной связью и форм с похожими функциями.

Использование PHP

Вы можете использовать PHP для записи практически любого типа веб-приложения или сценария. Обычные PHP приложения, включают в себя:

  • Программное обеспечение для ведения блогов таких, как WordPress
  • Системы электронной коммерции Magento
  • Система управления контентом, в том числе Drupal и Joomla! и
  • Программное обеспечение для ведения форумов, например, phpBB.

Кроме того, многие популярные веб-сайты, в том числе Yahoo!, Википедия, Facebook, Digg разработаны с использованием PHP. Также с помощью языка PHP возможно написание объектно-ориентированного кода.

Альтернативы PHP

Если вы не склонны использовать PHP, то есть много аналогичных и доступных языков программирования.
Некоторые серверные языки, включают:

  • Perl
  • ASP и его преемник, ASP.NET
  • Python
  • Ruby и
  • Java.

После прочтения статьи вы можете закрепить знания, пройдя небольшой тест с вопросами, которые основаны на материале этой статьи. Успехов вам в освоении языка PHP!

Источник: www.elated.com

Этот блог читают уже много людей
— читай и ТЫ!

site.softmaker.kz

Урок 1: Что такое PHPrustutorial

Первые вопросы, возникающие при изучении РНР: Что такое PHP и как это работает?

Именно этими вопросами мы и займёмся в данном уроке. Очень важно разобраться с этими вопросами, прежде чем начинать создавать собственные РНР-страницы. Понимание этого значительно ускорит изучение.

Итак, начнём!

Что такое PHP?

PHP это первоначально аббревиатура для Personal Home Pages (Личные Домашние Страницы), но в настоящее время это рекурсивный акроним для PHP: Hypertext Preprocessor (Гипертекстовый Препроцессор).

PHP был разработан датским гренландцем Rasmus Lerdorf, а затем дорабатывался как открытый код. PHP это не вэб-стандарт, а технология с открытым кодом. PHP это и не язык программирования, и не вэб-стандарт, но он позволяет использовать т. н. скриптинг в ваших документах.

При описании РНР-страницы вы может сказать, что это файл с расширением .php, содержащий комбинацию HTML-тэгов и скриптов, запускаемых для выполнения на вэб-сервере.

Как работает PHP?

Лучший способ объяснить, как работает PHP — сравнить его со стандартным HTML. Предположим, вы печатаете адрес HTML-документа (например, http://www.mysite.com/page.htm) в адресной строке браузера. При этом вы запрашиваете HTML-страницу. Вот пример:

Вы видите, что сервер просто высылает HTML-файл клиенту. Но если вы напечатаете http://www.mysite.com/page.php — то есть запросите PHP-страницу — сервер начинает работать:

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

Это означает, что, если вы нажимаете в браузере «view source/просмотреть исходный код» PHP-страницы, вы увидите не PHP-коды, а лишь тэги HTML. То есть вы не сможете с помощью «view source» увидеть, как создаётся PHP-страница. Необходимо изучать РНР другими способами, например, читая данный учебник.

Вы этой книге вы научитесь создавать команды для сервера!

Итак, первое, что нужно … это сервер! Но не волнуйтесь — вам не нужно покупать новый компьютер. Просто установите определённое программное обеспечение, которое заставит его работать в качестве сервера. Кроме того, понадобится вэб-сайт на сервере-хосте, поддерживающий работу с PHP. Ну и, наконец, вы должны быть онлайн, когда кодируете.

Следующий урок посвящён тому, как сделать из вашего компьютера сервер.



<< Введение

Урок 2: Серверы >>

ru.html.net