![]() |
|||||||||||||||||||||
|
|
|||||||||||||||||||||
РНР - что в этом слове?Путешествуя просторами Глобальной сети, вы, наверное, не раз встречали всевозможные форумы и опросники. Видели разнообразные графики и счетчики систем сбора и обработки статистической информации, которые изменяли свой вид всякий раз, когда вы посещали такой сайт снова и снова. Возможно, вы заполняли различные формы, в которых уже до вас были введены ваше имя, электронный адрес и прочая "конфиденциальная" информация. Если это так, то наверняка вам приходилось сталкиваться с файлами, которые имели расширение *.php3, вместо привычных *.htm или *.html. Что за этим всем скрывается, мы и попробуем рассказать в этой статье… РНР (читается как пи-эйч-пи) появился на свет осенью 1994 года по воле Расмуса Лердорфа (Rasmus Lerdorf). Немного ранее имели место первые версии этого скрипт-языка, которые сам автор использовал исключительно в своих личных целях. РНР начал свою жизнь как невзрачная CGI-оболочка, написанная на Perl. Небольшое отступление: СGI (Common Gateway Interface) - общий шлюзовой интерфейс - является стандартом, который предназначен для создания серверных приложений HTTP. Такое приложение, которое называют шлюзом или CGI-программой, запускается www-сервером в реальном времени. Сервер передает запросы пользователя CGI-программе, которая их обрабатывает и возвращает результат своей работы на экран пользователя. Таким образом, Интернет-серфер получает динамическую информацию, которая может изменяться в результате влияния различных факторов. Сам шлюз может быть написан на C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script и других подобных языках. Но в случае с РНР, для написания его в первоначальном варианте был выбран язык Perl. Вот как об этом вспоминает сам автор: "Я написал это в течение полудня в промежутке между деловыми встречами. Тогда я нуждался в быстром инструменте, чтобы иметь представление о тех людях, которые читали мое резюме, размещенное в Сети. Даже не предполагалось, что оболочка будет использоваться кем-то кроме меня. Сервер, на котором располагалось мое резюме, был постоянно перегружен. Я переписал Perl-оболочку на C, чтобы избавиться от значительных непроизводительных затрат… Люди, которые использовали тот же сервер, натолкнулись на мою оболочку и попросили ее для использования у себя". Так, в начале 1995 года появилась первая версия продукта, которая стала доступной широкому кругу пользователей и содержала дистрибутив с документацией, список рассылки и FAQ. Имя этого первого пакета было Personal Home Page Tools. На тот момент РНР обладал достаточно скромными возможностями. Он имел простейший анализатор кода, который понимал несколько специальных команд, а также разные утилиты для использования на домашней странице, такие как гостевая книга, счетчик и тому подобное. Ближе к средине 1995 пакет основательно перерабатывается, был добавлен Form Interpreter (FI), для упрощения обработки данных, вводимых с помощью форм. Также появилась поддержка mSQL, позволившая работать с базами данных. В таком виде появилась вторая версия продукта, которая носила название PHP/FI Version 2. После этого РНР начал стремительно развиваться. Люди начали писать собственные библиотеки, расширяющие функциональность языка. По скромным подсчетам NetCraft (http://www.netcraft.com/), в конце 1999 года PHP использовался уже на более чем 1000000 сайтов во всем мире. В июне 2000 года эта цифра перевалила за 2,5 миллиона. Так что же это такое? Итак, на сегодняшний
день РНР, несмотря на свое скромное название
(Personal Home Page - персональная домашняя страница), -
это мощный кроссплатформенный набор средств, который
располагается на сервере и предназначается для обработки
кода, встраиваемого в html-документы. Благодаря этому,
появляется возможность создавать динамические
Web-страницы. То есть вы создаете их как обычно,
используя язык HTML и вставляя в документ, по мере
необходимости, РНР-команды. Файлы, созданные таким
образом, хранятся на сервере. Когда посетитель
обращается к вашей страничке, РНР обрабатывает
встроенные в нее команды и выдает результат браузеру
пользователя - точно так же, как это делает
CGI-программа, написанная на С или Perl. Только в
отличие от последней, РНР имеет ряд преимуществ: Заглянем внутрь. По своему синтаксису РНР является С-подобным языком. Поэтому программисту, пишущему на С, будет очень легко освоить этот скрипт-язык и использовать его максимально эффективно в своих целях. Но даже если С вам не знаком, то… настало время с ним познакомиться, тем более, что РНР прекрасно для этого подходит. Все достаточно просто, и я постараюсь вам это показать. Для начала, чтобы сервер знал, в каком из файлов используются РНР-команды и, следовательно, мог передать такую страничку для дальнейшей обработки, необходимо изменить расширение файла с *.html на *.php3. Поэтому, когда вы видите файлы с таким расширением, можно с почти полной уверенностью утверждать, что при их создании использовался РНР. Каждая команда РНР обычно начинается с тэга <?php и заканчивается ?>. Если вы используете несколько команд подряд, они могут быть объединены внутри одной пары тэгов - в этом случае каждую команду необходимо отделять друг от друга символом ;. В любом месте РНР-скрипта можно размещать комментарии. Для начала комментария используется символы /*, а для его завершения - */. Если комментарий небольшой, удобней использовать символы // - тогда все, что следует за ними до конца строки, будет игнорироваться, подобно лишним символам пробела, табуляции и новой строки. РНР позволяет использовать переменные - при этом их не нужно описывать так, как это делается в Visual Basic или Pascal. Вы просто вводите необходимую переменную там, где вам нужно и тогда, когда вам это нужно. Имена переменных начинаются с символа $. Переменные могут быть трех типов: целые, с плавающей запятой и символьные строки. Хотя разделение на типы скорее условное, и каждая функция стремится использовать правильный тип автоматически. Например: Здесь
переменной а присваивается значение 7, и она приобретает
тип целочисленной. Переменная b обретает вещественный
тип и становится равной 9,5. Строка Hello присваивается
переменной с, в результате чего она становится
строковой. В
результате загрузки такой страницы, РНР обработает все
команды, которые находятся между специальными тэгами, и
вы увидите, в данном случае, строку вроде Последние
обновления: 2.08.2000. Браузер получает чистый HTML-код
и если просмотреть его, вы не найдете там никаких следов
пребывания РНР. Таким образом, вы создадите "вечно
обновленную" страницу J. Письмо уйдет на адрес,
который пользователь еще минуту назад неосмотрительно
вводил в вашу форму. Например: На экране появится строка:
Я вас где-то видел. Все достаточно просто, сохранять
можно любые переменные, а затем их использовать. Именно
поэтому в формах, которые вы хотя бы раз заполняли, при
их последующих загрузках вы можете увидеть ваши имя,
электронный адрес и прочую подобную информацию в
соответствующих полях. Интересные возможности открываются при использовании HTTP-заголовков. Частным случаем их использования может служить такой пример. Допустим, вы имеете каталог ссылок и хотите знать, какие из них пользуются наибольшей популярностью. В этом случае можно использовать функцию header(). Например: В данном случае пользователь будет перенаправлен на сайт РНР. При этом можно увеличить значение счетчика, которое-то вам и расскажет, что именно интересует ваших посетителей. Заголовки (как, впрочем, и cookies) необходимо использовать до вывода данных командой echo или ей подобными функциями - иначе ничего не получится. Чтобы больше узнать о ваших посетителях (а именно для этого, как вы теперь знаете, в начале и создавался этот язык), можно использовать предопределенные переменные, доступ к которым предоставляет РНР. Например, с помощью переменной REMOTE_ADDR вы узнаете IP-адрес, с которого пользователь просматривает вашу страничку. Переменная HTTP_USER_AGENT расскажет вам о том, какие браузеры и операционные системы используют ваши посетители. Существует еще множество других переменных, которые можно использовать для изучения аудитории посетителей вашего сайта или страницы. В одной статье трудно рассказать обо всех возможностях такого мощного и в то же время доступного скрипт-языка, как РНР. Тем более невозможно описать все реально используемые функции и способы их применения. И если вы задумываетесь о том, как разнообразить ваши html-творения, или, может быть, вас мучает сомнение - быть или не быть РНР в вашем веб-арсенале - я думаю, вам будет легче сделать свой выбор после ознакомления с этой статьей. Напоследок пара необходимых адресов в Internet. http://www.php.net/ - официальный сайт РНР. Здесь вы найдете подробную документацию, последние версии дистрибутива под любую платформу и множество другой полезной информации. И еще один сайт, посвященный РНР - http://phpclub.unet.ru/ - по моему мнению, это самый полезный и интересный из всех сайтов, которые мне только приходилось встречать. К тому же он на русском языке. Здесь вы найдете много полезной информации, исходных текстов и примеров. Кроме всего этого изобилия, там есть отличный форум, очень живой, где действительно можно получить ответы на все вопросы, связанные с РНР. Реклама |
|||||||||||||||||||||
| Copyright © dmsdesign.ru Электронная почта: send@dmsdesign.ru |
|||||||||||||||||||||