Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
ства документов стандартна и весьма 
универсальна (ее применют 99% сценариев, которые можно найти в Интерне- 
те). Она еще и удобна для пользователя, потому что не создает "мертвых" 
ссылок (любой URL сценария, который он наберет, пусть даже и без парамет- 
ров, будет корректным). Однако программирование этой схемы на Си (и на не- 
которых других языках) вызывает определенные проблемы. Язык PHP таких 
проблем лишен. 

Глава 3 
CGI изнутри 
До сих пор мы рассматривали лишь теоретические аспекты CGI. Мы знаем в общих 
чертах, как и что передается пользователю сервером и наоборот. Однако как же 
все- 
таки должна быть устроена CGI-программа (CGI-сценарий), чтобы работать с этой 
информацией? Откуда она ее вообще получает и куда должна выводить, чтобы пере- 
слать текст пользователю? 
И это только небольшая часть вопросов, которые пока остаются открытыми. В этой 
главе я постараюсь вкратце описать, как же должны на самом деле быть устроены 
внутри CGI-сценарии. На мой взгляд, каждый программист обязан хотя бы в общих 
чертах знать, как работает то, что он использует — будь то операционная система 

(ОС) или удобный язык-интерпретатор для написания CGI-сценариев (каким является 

PHP). А значит, речь пойдет о программировании на Си. Я выбрал Си, т. к. это 
одно 
из самых лучших и лаконичных средств; кроме того, именно на Си чаще всего пишут 

те сценарии, которым требуется максимально критичное быстродействие (базы дан- 
ных, поисковые системы, системы почтовой рассылки с сотнями тысяч пользователей 

и др.). В пользу этого языка говорит также и то, что его компиляторы можно 
встре- 
тить практически в любой сколько-нибудь серьезной ОС. 
Тем не менее, вы не найдете в этой главе ни одной серьезной законченной 
программы 
на Си (за исключением разве что самой простой, типа "Hello, world!"). Несмотря 
на 
это, я попытаюсь описать практически все, что может понадобиться при программи- 

ровании сценариев на Си (кроме работы с сокетами, — это тема для отдельной 
книги, 
да и, пожалуй, лишь косвенно примыкает к Web-программированию). По возможно- 
сти я не буду привязываться к специфике конкретной ОС, ведь для CGI существует 
стандарт, независимый от операционной системы, на которой будет выполняться 
сце- 
нарий. Вооружившись материалом этой главы, можно написать самые разнообразные 
сценарии — от простых до самых сложных (правда, для последних потребуется также 

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

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

Глава 3. CGI изнутри 43 
чтения". Еще раз оговорюсь, что материал этой и следующей глав предназначен для 

того, чтобы вы получили приблизительное представление о том, как же устроен 
про- 
токол HTTP и как программы взаимодействуют с его помощью. Думаю, что без этих 
знаний невозможна никакая профессиональная работа на поприще Web- 
программирования. Так что не особенно расстраивайтесь, если вы совсем не знаете 

Си — ведь эта глава содержит гораздо больше, нежели просто описание набора Си- 
функций. В ней представлен материал, являющийся связующим звеном между CGI и 
HTML, детально описываются тэги форм и их наиболее полезные атрибуты, приемы 
создания запросов и многое другое. Все это, безусловно, понадобится нам и при 
про- 
граммировании на PHP. 
В то же время, изучая приведенные в этой главе примеры, вы можете и не 
проверять 
их на практике (особенно если у вас еще нет работающего Web-сервера), т. к. они 

(как это ни парадоксально звучит) предназначены лишь для теоретических целей. 
Сам не знаю, как это получилось, но, в конце концов, мне это нравится. Вам, 
наде- 
юсь, понравится тоже
 
<<-[Весь Текст]
Страница: из 287
 <<-