Отправляет email-рассылки с помощью сервиса Sendsay

Построй свой сайт на PHP!

  Все выпуски  

Построй свой сайт на PHP!


Информационный Канал Subscribe.Ru

Построй свой сайт на PHP!

искать в
Приветствую вас, уважаемые читатели!

Итак, прошла еще одна неделя, а это значит, что новый выпуск снова у вас в почтовом ящике. Первый блин, то есть первый выпуск рассылки, по-моему мнению, получился комом, чем ему, собственно, и полагается быть. Я отметил (не без помощи "надежных источников"), что в рассылке было не только n-ное количество опечаток, но еще и несколько недочетов. Но не будем о грустном, над этим выпуском, думается, мне удалось поработать больше, так что он, надеюсь, будет меньше похож на ком, чем предыдущий. Потому что иначе можно смело закрывать рассылку. Однако, рассылку мы закрывать пока не собираемся, так что давайте продолжим. В прошлом выпуске я вам обещал рассказать о синтаксисе PHP. Однако, тема эта, как сами понимаете, весьма обширная, да еще и помимо синтаксиса надо многое рассказать, так что выпуск я решил разбить на две части. Одну вы наблюдаете в данный момент, а вторая выйдет следующий раз. Кроме того, скоро выйдет внеплановый выпуск, специально целиком и полностью посвященный HTTP версии 1.1, благодарим все те же "надежные источники" за удачно подкинутую неделю. Думаю, я периодически буду радовать вас такого рода спецвыпусками, напрямую не касающимися PHP, но все равно полезными в повседневной жизни веб-программиста. Впрочем, это будет зависеть от наличия свободного времени, которого, с приходом 1 сентября отнюдь не прибавится. А теперь давайте, собственно, перейдем к выпуску.

Ведущий рассылки, The Wanderer. ICQ: 233661333

Для начала стоит сказать, что синтаксис PHP очень похож на синтаксис Си. Так что если вы более-менее знакомы с Си, вам не составит никакого труда разобраться и с PHP. Впрочем, если вы и не знакомы с Си, то все равно никакого труда разобраться с PHP вам не составит. PHP вообще очень простой в освоении и применении язык. Чего стоит только отстутствие строгой типизации данных (впрочем, это можно отнести и к минусам PHP). К примеру, автор этих строк написал свой первый скрипт на PHP без всякой предварительной подготовки и с минимумом документации уже через 30 минут (это был не "Hello, World!", а скрипт, уже вовсю работающий с БД). Единственное что я знал - это то, что PHP похож на Си, впрочем, с Си я тогда был знаком тоже весьма поверхностно. Так что PHP, пожалуй, один из самых простых в изучении языков.

По поему скромному мнению, изучение любого языка стоит начать с его истории, она необходима для понимания зачем язык нужен, что умеет делать и где его следует применять. Поэтому, давайте начнем погружение в PHP с истории, PHP, возникновения.
Итак, PHP был создан в 1995 году Расмусом Лердорфом (Rasmus Lerdorf). Тогда он назывался PHP/FI (почему - ниже) и представлял собой несколько скриптов на языке Perl, созданных для того, чтобы собирать статистику посещений интернет-резюме автора. Назван этот набор скриптов был "Personal Homepage Tools" - "Инструменты для персональных домашних страничек". Но время шло, возможностей стало не хватать, и Расмус решил переписать свое творение на С. И переписал, добавив заодно поддержку БД и возможность писать простые динамические скрипты. Желающих попробовать этот инструмент становилось все больше, и Расмус решил выложить полностью исходный код, чтобы каждый желающий мог использовать PHP и, по возможности, исправлять ошибки. Так PHP начал свой путь к славе.
PHP/FI (Personal Home Page / Forms Interpreter) включал в себя уже большой процент базовой функциональности сегодняшнего PHP. Он умел встраиваться в html, автоматически интерпретировать переменные, переданные с помощью форм и имел Perl-подобный синтаксис.
В 1997 году PHP/FI 2.0 использовался уже почти на 1% всех доменов интернета (примерно 50000). Но несмотря на то, что создателю PHP часто приcылали новые фрагменты кода, он все еще оставался проектом одного-единственного человека.
Но PHP 2 прожил не долго, скоро он был вытеснен PHP 3, который был уже проектом не одного человека, а целых трех. В 1997 году Анди Гутманс и Зив Сураски (Andi Gutmans and Zeev Suraski) обнаружили забавный, на их взгляд, проект, PHP 2.0, оценили его и поняли, что несмотря на все его достоинства, для написания их курсовой, интернет-магазина, он слабоват. Но решили не ходить в лес по грибы, а переписать уже существующее, добавив необходимую функциональность. Так появился PHP 3, основа того PHP, какой он есть сейчас.
Основное достоинство PHP 3 заключалось в его расширяемости. Это привлекло очень большое количество разработчиков, которые начали слать десятки различных дополнительных модулей к PHP. Именно в третьей версии PHP/FI превратился в PHP, которое является рекурсивным акронимом: PHP: Hypertext Preprocessor. К концу 1998 года PHP был установлен уже на 10% всех веб-серверов сети...
Зимой 1998 началась работа над PHP 4. Основной целью этого релиза была улучшенная производительность и модульность: несмотря на то, что для PHP 3 было написано очень большое количество модулей, он не мог работать с ними достаточно эффективно. Было принято решение создать отдельный "движок", на основе которого и был бы построен следующий релиз PHP. Движок назвали Zend (комбинация имен разработчиков: Zeev и Andi) и в мае 2000 года появился первый релиз PHP 4, основанный на нем. Вместе с улучшенной производительностью была введена и поддержка большего количества веб-серверов, сессий, более безопасные способы передачи пользовательских данных и несколько новых конструкций языка.
Сегодня четвертую версию используют, по официальным данным, больше 20% всех серверов сети (а по неофициальным, намного больше), она является последней стабильной (на данный момент, как правило, используется версия 4.3.8), однако совсем недавно вышел официальный релиз PHP 5, основанного на Zend Engine 2, который включает улучшенную поддержку ООП (многое в этом плане было позаимствовано у Java). Однако пока на рабочие системы администраторы устанавливать его не спешат: PHP 5 все еще нуждается в отладке.
Команда разработки PHP сегодня включает десятки программистов. Модулей расширения для этого языка написано столько, что и подумать страшно. Существуют такие проекты, облегчающие жизнь разработчикам, как PEAR, Smarty, PHPDoc. А количество готовых скриптов на нем таково, что я даже не могу представить сколько рук нужно, чтобы их сосчитать. PHP не просто популярен, он, как модно говорить, супер-популярен. Из обычного набора скриптов на Perl PHP превратился в самостоятельный язык общего назначения (это мы увидим позже), получившего огромное распространение и популярность...

У PHP нет официального стандарта, как, например, у C++. Язык изменяется постоянно. Поэтому при разработке скриптов, которые планируется распространять, нужно очень внимательно следить за тем, в какой версии появилась та или иная возможность. К счастью, руководство по PHP предоставляет эти данные. Кстати, руководство это абсолютно незаменимое, забудьте о книжках, официальное руководство будет вашей "настольной книгой" и, единожды скачав 4 мегабайта архива (список возможностей действительно огромен), вы не пожалеете о потраченных на это деньгах и/или времени никогда!

Но давайте двигаться дальше.
Ну, прежде всего нужно сказать, что любой документ, который содержит php-код и который, соответственно, планируется выполнить на сервере, а не отдать клиенту в виде исходников, должен иметь соответствующее расширение. Общепринятых на данный момент существует два: php, phtml. Остальные, а среди них php3, php4, php5 и некоторые другие, вполне могут как поддерживаться, так и нет. Естественно, может возникнуть вопрос, почему же необходимо давать своим скриптам специальное расширение? Помните прошлый выпуск, а именно ту его часть, в которой говорилось о том, что веб-сервер делает, когда получает запрос от клиента? Он определяет тип запрашиваемого документа, чтобы знать, что с ним делать. В настройках Apache, веб-сервера, который мы и будем использовать, в конфигурационном файле существую такие строки (естественно, если он настроен на работу с PHP):

AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
Естественно, сюда можно добавить какие угодно расширения, хоть .vasya, но мы прежде всего должны расчитывать на то, что наш скрипт придется размещать на сервере хостинг-провайдера, у которого все может быть настроено совсем не так. Вообще, использование расширений, отличных от php и phtml, я считаю обычным баловством и целей этого не понимаю.
Однако расширения два, какое же из них выбрать? Вообще, разницы нет, так как файлы с обоими расширениями обрабатываются совершенно одинаковым образом, но, следуя логике, имеет смысл давать расширение .phtml всем html-файлам, в которых находится немного встроенного php-кода (вроде вывода имени пользователя, переданного через форму), а во всех остальных случаях использовать расширение .php. Но это не принципиально, главное запомнить основное: чтобы скрипты на php исполнялись, файлы, содержащие их исходный код, должны иметь определенное расширение. Не проверишь же простым анализом содержимое громадного файла на наличие в нем php кода, прежде чем отдать его клиенту!

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

<?PHP
Здесь ваш код...
?>
Их в большинстве случаев и стоит использовать. Однако, когда код на PHP встраивается в html иногда удобнее писать так:
<? Здесь ваш код... ?>
Так же возможна такая запись:
<script language="PHP">
Здесь ваш код...
</script>
Но этим возможности не ограничиваются. Если вам необходимо подставить в html-код значение какой-либо php-переменной или результат выражения или оператора, то можно написать так:
<?=выражение?>

Понятно, что вместо "выражение" может быть любая переменная или какой-либо оператор, результат действия которого вы хотите вывести.
Если вы подумали, что это все, вы ошиблись. Есть еще один тип тегов, правда они отдельно настраиваются в конфигурационном файле php и по умолчанию отключены. Эти теги обрамляют скрипты на ASP, еще одном скриптовом языке, однако по причинам, мне неведомым, их поддержку включили также в PHP:
<%
ваш код...
%>
Можно записать и так:
<%=выражение%>
Как нетрудно догадаться, этот вариант - аналог пары <?= и ?>.
Повторюсь, что чаще всего используется именно первая пара тегов. Необходимость остальных вариантов мне кажется весьма сомнительной, но иногда и они могут быть полезны.

Заключение

Итак, вы прочли очередной выпуск. Надеюсь, вы меня простите, что написано мало, местами путано и иногда, вроде бы как и не по делу. Дело в том, что хочется вам рассказать сразу очень многое, необходимое для лучшего понимания PHP, а время не всегда это позволяет. Однако, будем работать, стараться и что-нибудь, у нас да получится. До новых встреч!

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

 
Copyright © 2004 Построй свой сайт на PHP!
Перепечатка возможна только с сохранением авторства.
Второй выпуск: Воскресенье 29 августа 2004 года

http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное