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

PHP для начинающих


Часть 3: "Локальный сервер и не только..." или инструментальная тема

Особенностью страниц, построенных при помощи PHP, является невозможность "открыть" страницу в браузере как HTML-документ. Чтобы увидеть результат, необходимо запустить ее на сервере -- например, выгрузить при помощи FTP-клиента и обратиться к ней по адресу www.имя_сервера/имя_страницы.php.

Но процесс написания программы -- это "написал-посмотрел-что-не-так-исправил-посмотрел-снова-и-так-до-тех-пор-пока-все-не-заработает". Каждый раз выгружать страницу на сервер... а если он находится где-нибудь в Штатах? Или, еще хуже, вообще пропадет Интернет? Хотя даже при быстром и работающем Интернете -- это время, трафик и нервы. А при загруженном, работающем сервисе -- это еще и необходимость держать отдельный, "тестовый" сервер, чтобы избежать перебоев в работе.

Решение очевидно: тестовый сервер должен быть местным, в локальной сети, в идеальном случае прямо на машине, чтобы править файлы прямо там, откуда они запускаются сервером. Вот такую "песочницу" мы сейчас и построим.

Сервер должен ничем не отличаться от "боевого", поэтому отбросим в сторону всякие готовые решения и сосредоточимся на компонентах боевых серверов. Для веб-разработчиков давно сложился стандарт LAMP. Это аббревиатура из названий программ, работающих на типовом сервере в Интернете. Программы эти Linux (операционная система подавляющего большинства "боевых" серверов Сети), Apache (собственно веб-сервер, программа, отвечающая на запросы пользователей), MySQL (база данных) и PHP (есть разновидности PERL и PYTHON, но об этом пусть пишут авторы других учебных пособий).

"А сейчас мы со всем этим попытаемся взлететь", как говорится в известном анекдоте про самолет с бассейном, рестораном и кинотеатром. Продукты это разные и заставить их работать "в связке" задача для новичка не самая легкая. Самый простой способ -- установить так называемый "джентльменский набор разработчика", готовую сборку. Одна их таких сборок так и называется -- "Джентльменский набор web-разработчика", или "Денвер" (в отличие от города Denver в Штатах, он называется "Denwer"). Скачать его можно с сайта разработчика или http://www.webfile.ru/1215562. Это базовый набор, на сайте разработчика написано, чем разновидности сборки отличаются друг от друга. Я же скажу только, что если Вам потребуется что-то более специфическое, чем базовый набор -- лучше сделайте это своими руками. В процессе настройки придет понимание, "как же все это работает", мы ведь договорились, что будет идти по нашей дороге ученичества с открытыми глазами, не полагаясь на готовые рецепты. Но у "Денвера" есть одно прекрасное качество -- все конфигурационные файлы в нем документированы на русском языке. Стоит его поставить хотя бы ради того, чтобы почитать эту документацию.

Теперь у нас есть локальный сервер и информация о том, где можно найти информацию о его настройке. Кроме того, нам потребуется текстовый редактор. Конечно, для написания текста вполне сойдет "блокнот" или Word. Как для того, чтобы забить гвоздь, сгодится любой молоток. Но Вы задумывались, почему инструмент бывает бытовой и профессиональный? Чем "профессиональный" молоток лучше "любительского", если процесс забивания гвоздя ничем не отличается? А вы попробуйте подержать в руках молоток профессионала в руках. Он более сбалансирован, ручка не соскальзывает...

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

Подобного инструмента существует очень много. Когда-то в "до-виндовые" времена редактор Multi-Edit был уникальным, но сейчас он просто затерялся в массе новых, столь же качественных, и, что не менее значимо, уже бесплатных продуктов. У каждого разработчика набор любимого инструмента свой собственный,  а споры о том, что лучше, просто разновидность "религиозных войн". Поэтому я просто расскажу, чем пользуюсь, и почему мне это нравится. Решать, разумеется, уже Вам...

Редактор PSpad (предположительно от "ProgrammersSourceNotepad") мне понравился прежде всего своей гибкостью. Проработав с Multi-Edit-ом более 10 лет, я обнаружил, что могу в PSPad-е все настройки сделать в соответствии с выработанной годами привычкой. Он умеет "раскрашивать" код так, чтобы сразу были видны команды, переменные, комментарии и строки. Он умеет вызывать программу проверки синтаксиса и умеет сразу же указывать на строку, где эта ошибка произошла. Он понимает все языки программирования, который я знаю -- и еще кучу других. Он умеет "говорить по-русски" Он умеет показывать структуру программы и отслеживать частоту использования переменных. Он умеет показывать страницы как браузер -- напрямую и через Web-сервер, что особенно важно для PHP. Он удобен и при известной привычке позволяет набирать код, буквально "успевая за мыслью". И он бесплатен. Забрать его можно отсюда с сайта разработчика или отсюда: http://www.webfile.ru/1215617 .

Для работы с базами данных есть два вида инструментария. phpMyAdmin устанавливается прямо на сервер и предоставляет веб-интерфейс к MySQL. Кстати, он входит в DENWER. Но некоторые, и я в их числе, предпочитают программы, устанавливаемый на компьютер. По той же причине – быстрее и удобнее. На сайте MySQL с недавних пор появился GUI Tool for MySQL. В отличие от phpMyAdmin-a он не русифицирован, но это перестает быть проблемой довольно быстро.

 

Это, конечно же, не все. Свой инструментарий есть и для отладки, и для проверки корректности кода, и визуальные редакторы и многое другое. Главное – не увлечься поисками программ, которые «все делают сами, по нажатию одной кнопки». Универсальных решений не существует, иначе искусственный разум был бы давно создан.

В следующем выпуске…
Часть 4: А чё это вы здесь делаете? А? 

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

Sol,
ведущий рубрики.



Ведущая рассылки Екатерина mailto:kate@webfile.ru
Сайт рассылки http://webfile.ru


В избранное