PHP — руководство для начинающих

pic

Часть 1

Обо что это?
В чем же прелесть PHP? Можно, конечно, долго спорить о том, какой язык программирования выбрать. Тут и ASP, и Perl, Java… но мы остановим свой выбор на PHP. Сделали это не случайно, а в силу некоторых очень полезных свойств этого языка. Во-первых, это то, что все скрипты можно «вклеивать» прямо в HTML-код (что, на наш взгляд, очень помогает начинающим). Во-вторых, это работа с формами (обработать на PHP данные, введенные с формы, намного проще, чем, скажем, на Perl’е). В-третьих, работа с базами данных — на наш субъективный взгляд, в PHP она организована намного понятнее (как мы постараемся показать это в дальнейшем). Вот вкратце критерии выбора. А тем, кто будет кричать, что на, к примеру, Perl’е скриптов больше написано, то могу на спор отыскать аналог любого Perl скрипта на PHP.

Но давайте ближе к телу. В цикле статей под девизом «от азов до создания своих проектов» мы постараемся рассказать (и подкрепить примерами) о том, что написание программ для Интернета вполне посильная задача даже для начинающих.
Наши статьи будут писаться по принципу «Задача — теория — практика». Это значит, что: во-первых, перед тем, как изучать немного занудную теорию, мы ставим вполне конкретные цели. Во-вторых, теория будет даваться в сокращенном виде (подразумевается, что читатель сам заинтересован в дальнейшем саморазвитии, мы лишь даем импульс к началу). В-третьих, цель данных статей исключительно образовательная (подразумевается, что скрипты, написанные нами, не претендуют на абсолютную защищенность и надежность). Ну, и в-последних, это то, что содержание материала не привязано к строгому плану. Последовательность и тема вариативны, зависят от ваших пожеланий и предложений. Ждем-с!

Итак, для начала вспомним (ознакомимся) с азами.

Для самых маленьких

Эта глава предназначена в первую очередь для тех, у кого при слове PHP возникает только один вопрос: «Это что?». Дабы не забивать полезное место в статье материалом, который при желании можно преспокойно найти в Интернете, осмелюсь послать всех на… www.php.org за необходимой информацией о версии языка, его истории и прочей интересующей информацией.
(Tip: я бы не советовал скачивать самые свежие версии, так как они могут быть нестабильны. Лучше немного подождать и качать нормальный STABLE RELEASE).
А мы с вами проведем ликбез (можно сказать, курс молодого бойца).
Чтобы все ваши скрипты работали, необходимо либо иметь доступ к уже настроенному серверу, либо (самый простой вариант) поставить себе пакет «Denver». Там все операции по настройке уже выполнены за вас. Хотелось бы отметить, что такой вариант вполне пойдет для домашней отладки скриптов. В составе компонентов Denver’а находятся:

1. Web-сервер «Apache» (в урезанном варианте).
2. Интерпретаторы Perl и PHP.
3. Сервер баз данных MySQL.
Дистрибутив доступен здесь: (качайте самую новую версию).
Как и для всякого дела, неплохо бы иметь при себе удобный инструмент для работы. Та же история и с PHP. Часто новички в PHP-программировании задаются вопросами: «В чем, собственно, программировать? Существует ли специальная программа, или можно обойтись каким-нибудь универсальным редактором?» — это естественно, ведь, например, в программах Visual Basic, Delphi существует визуальное отображение действия сценария, то есть берешь кнопочку обычную, или поле ввода, и «рисуешь» на форме. Это некое подобие WYSIWYG-редакторов (What You See Is What You Get — что видишь, то и получаешь), коим и является печально известный Microsoft Frontpage. Пожалуйста, запомните, в PHP такого нет!

Использовать можно любой текстовый редактор (Notepad, Cromson Editor, Aditor), но лучше (а главное, удобнее), конечно, воспользоваться специальным инструментарием.

(Tip: Помните, использовать лучше текстовые редакторы, а не текстовые процессоры (вроде Word), иначе скрипт может и не запуститься!)

Я рекомендую PHP Expert Editor — оптимальный выбор для начинающих, а также программистов-любителей. Данная программа является сама по себе чисто PHP-редактором. Имеет массу полезных функций, на которых мы сейчас не будем подробно останавливаться. Программа занимает всего 2 Мб и сразу заменяет FTP-клиент, проводник, браузер и так далее. Предпосылкой для использования PHP Expert Editor будет являться также тот факт, что регистрация для жителей СНГ и бывших стран СССР (Эстония, Латвия и Литва) совершенно бесплатна.

pic

Скачать чудо-программу можно здесь:
Немаловажным фактором для новичков является понятие «права на файл» (актуально только для *nix хостингов). Если вкратце, то можно определить это так: есть 3 группы пользователей. 1-я группа — это владелец файла и рут (супер-пользователь). 2-я группа — это группа владельца файла (например, users). И в третью группу пользователей входит весь остальной народ, использующий систему. Между этими группами распределяются права на чтение, запись и выполнение файла. Так вот для того, чтоб все скрипты работали, нужно выставить права на эти самые скрипты. Это выполняется либо через ваш ftp-клиент, либо через шелл.
(Tip: Shell (оболочка) — это интерфейс между пользователем и машиной. Всем нам шелл знаком как командная строка в ОС DOS и Windows. Шелл — это та же командная строка в системе Unix, но только со своими, конечно, командами).
Опять же по этому вопросу есть куча материалов в сети. Скорее всего, вы сможете найти их на сайте своего хостера. Подробнее о правах: http://webstudent.net.ru/modules/wfsection/article.php?articleid=2
Итак, переходим наконец непосредственно к синтаксису языка. Чаще всего php-скриптом называют файл с расширением php или phtml. Содержимое файла может представлять из себя либо программный код в чистом виде, либо тот же код, но смешанный с html.

Любой php-скрипт начинается с «» соответственно.
(Tip: Строго говоря, существует 4 способа вставки кода. Один из них, краткий, приведенный выше, работает лишь, когда на сервере включена директива short_open_tag; другой способ — PHP-программа находится между двумя тегами — — способ самый универсальный и рекомендуемый, так как позволяет работать также с XML/XHTML-документами. Есть еще способы вставки через ASP-стиль и конструкцию script, но мы не будем сейчас это рассматривать)

Вот простой пример php-скрипта:

Вкратце поясню код, приведенный выше. Итак, как видно, все начинается и заканчивается стандартными тегами «». Далее следует функция echo (эхо, если по-нашему). Ее смысл сводится к тому, чтобы вывести информацию в выходной поток (в нашем случае это код страницы). Функция имеет один параметр (это то, что в скобках), которым может являться либо переменная, либо собственно текст (как у нас). Замечу одну маленькую деталь — если выводится просто текст, то он должен быть в кавычках (разрешены как ординарные, так и двойные). И в конце обязательно ставим «;», иначе ничего работать не будет, так как эти самые «;» являются как бы логическим завершением ЛЮБОЙ функции. Это необходимо хорошо запомнить, так как такая мелочь очень часто становится причиной ошибок.
Теперь тот же пример, но с переменной в качестве параметра:

Все переменные в PHP начинаются со знака «$» (интересно, почему именно «$», может, за это деньги платят :) и бывают разных типов (текст (char), целое(int) и так далее), но для PHP это неактуально, потому что интерпретатор сам определяет тип переменной. А потом все стандартно (эх, рутина). «Эхо» выводит заданный ей параметр. В данном случае это переменная с текстом. Кавычки не ставим.
Tip: переменная также будет выводиться, если ее поставить в двойные кавычки.
Важно! Имена переменных произвольны, но чувствительны к регистру! То есть $Var и $var — это совершенно разные вещи. И еще имя переменной не может начинаться с цифры. Допускается использование русских букв и знаков подчеркивания. Пример: $_переменная 1 — верное название, а $25var — неверное, так как начинается с цифр.
Tip: Не рекомендуется использовать кириллицу для названий переменных — это правила хорошего тона.
А теперь выведем весь текст еще одним способом — с помощью константы:

Как видите, для ввода констант используется функция define(«имя», «значение»); Как вы уже заметили, в отличие от переменных, здесь не используется знак доллара ($). Имя константы тоже чувствительно к регистру.
В вышеприведенном коде вы могли заметить знак «#». Так в языке PHP обозначаются однострочные комментарии: все, что стоит после этого знака, до конца строки не будет проанализировано и отображено. Допустимо также использовать другие способы:

// Это однострочный комментарий в стиле языка С
/*
А вот и многострочный комментарий в стиле C!
*/

Пользоваться комментариями мы будем часто и много, так что привыкайте =)
Рассмотрим еще один пример:

«;
echo «My name is Vasya!»;
?>

Будет выведено с переносом на другую строку:

Hello world!
My name is Vasya!

Также существуют команды, иначе именуемые ESC-кодами (можно использовать только обратную косую черту.):

\n — команда, полностью эквивалентная тегу
в HTML — перенос строки
\$ — выведет символ доллара
\\ — выведет обратную косую черту (простое \ не пройдет)
\» — выведет кавычки. Кстати, это очень часто встречающаяся ошибка.

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

Orphus system