Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Как сделать популярный сайт." на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Декабрь 2002 → | ||||||
1
|
||||||
---|---|---|---|---|---|---|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
11
|
12
|
13
|
14
|
||
16
|
17
|
18
|
19
|
20
|
21
|
22
|
24
|
25
|
26
|
27
|
28
|
29
|
|
30
|
31
|
Статистика
-2 за неделю
PHP для начинающих - N3
Информационный Канал Subscribe.Ru |
|
||
|
||
В выпуске:
Введение
Дорогие друзья! Также хочу обратить внимание всех, кто еще не ознакомился с предыдущими выпусками рассылки. Вам необходимо это сделать! Главное, вы должны произвести все действия по установке домашнего http-сервера, указанные во 2-м выпуске. Архив рассылки вы найдете здесь. Как вы успели заметить, тема этого выпуска "Первые знакомства". Это действительно так и сегодня я расскажу, что представляет собой среда программирования PHP, как выглядит программа на языке PHP и как с ней работать. Также мы напишем первую программу, которая даст представление о синтаксисе языка и изучим несколько новых функций. В силу того, что сегодня самое начало нашего обучения, возможно некоторым этот выпуск покажется немного скучным... в этом случае не сильно меня критикуйте. Дальше - больше. Не могу же я сразу рассказывать о серьезных вещах, если не все знают, что такое переменная и как оформляется структура программы? Для начала я хотел бы дать основы. Поверьте, нам нужно совсем не много, чтобы начать писать реально работающие и полезные программы, но начальный материал нужно усвоить хорошо. Кроме того, мы вернемся к предыдущему выпуску, где рассказывалось про установку веб-сервера и PHP на локальный компьютер. С установкой сервера, как оказалось, возникло множество вопросов. Особенно большие проблемы возникли с загрузкой ПО (Apache и PHP). Оказалось, что в прошлом выпуске я не дал прямой ссылки на эти программы, а найти их на официальных серверах непосвященному человеку (тем более при проблемах с английским) довольно сложно. Честно сказать, забыл. Искренне извиняюсь за такой казус! Сегодня я исправляю свою ошибку, плюс постараюсь обновить исправленный выпуск N2 в архиве рассылки, если это предусматривает Subscribe (технически это точно возможно, так что я в любом случае постараюсь их уговорить :)) ).
Дополнения по установке сервера В первую очередь хочу дать корректные ссылки на программы, которых не было в прошлом выпуске:
Загрузить PHP4:
Загрузить Apache: Извиняюсь перед всеми подписчиками, которые не смогли оперативно загрузить это ПО! Далее хотелось бы сделать еще несколько уточнений. 1. Выполнять команду subst приходиться каждый раз после перезагрузки. Виртуальный диск действительно пропадает после перезагрузки. Для того, чтобы не вызывать эту команду каждый раз, нужно записать ее в файл autoexec.bat, который находиться в корневом каталоге системного диска. В этом файле содержится список всех программ, которые необходимо выполнить при загрузке системы. Итак, откройте этот файл в "Блокноте" и запишите в самый конец такую строку: subst F: C:\server Однако на некоторых операционных системах это может не пойти (например, Windows ME, XP...). Это связано с принадлежностью файла autoexec.bat системе MS-DOS, а в поздних версиях Windows ее попросту нет. В этом случае сделайте следующее. Создайте файл "subst.bat" и запишите в него всего одну, все ту же строку "subst F: C:\server". Теперь поместите этот файл по такому адресу: "C:\windows\Главное меню\Программы\Автозагрузка\subst.bat". Такой подход приведет к исполнению командного файла subst.bat при каждом запуске Windows. Но здесь появиться и неприятный момент. При запуске файла должно открываться окно эмуляции MS-DOS, в котором будет выполняться файл. Не очень удобно закрывать это окошко при каждом запуске системы. Так что может быть и лучше использовать обычный путь "Пуск > Выполнить...", делая это при необходимости. Возможно, у вас будут другие пути решения этой проблемы? Выслушаю их с удовольствием! 2. Отсутствуют ярлыки запуска и/или выключения сервера. Странно, конечно, но и такое, оказывается бывает. В этом случае нужно создать ярлыки для запуска и остановки сервера вручную. Они должны иметь вид:
Запуск сервера: F:\usr\apache\Apache.exe 3. Отсутствует файл F:\usr\apache\conf\httpd.conf Это случается и имеет отношение, равно как и предыдущий пункт, к различным дистрибутивам Apache. (по этому советую загружать дистрибутив, приведенный здесь!). Итак, файл "httpd.conf" отсутсвует, но есть файл "httpd.conf.default". В этом случае нужно скопировать файл "httpd.conf.default" в "httpd.conf" (именно создать копию этого файла с другим именем, а не переименовывать сам файл. "httpd.conf.default" всегда желательно иметь, так как он является дистрибутивом установок Apache и с его помощью вы всегда можете вернуться к первоначальным настройкам). Ну а дальше производить все настройки в получившемся файле. 4. Не работает PHP (в броузер выводиться код) или не работает Apache (окошко сразу закрывается). Проверьте правильность установки и настройки сервера по выпуску N2 (см. архив). Все пути, настройки, тексты скриптов обязательно должны совпадать с примерами - буква в букву. Иначе проблемы скорее всего будут. Например, вы поставили слеш в настройках в другую сторону (вместо "/" написали "\" или наоборот) или в тексте скрипта вместо "<?" написали "< ?" (с пробелом) и т.п. Такие ошибки мне вычислять, к сожалению, очень сложно... мне как минимум нужно сесть за ваш компьютер :) 5. Окно MS-DOS при запуске Apache открывается и сразу же гаснет. Не успеваю даже прочитать, что там написано. Это означает, что Apache неправильно установлен или настроен. Не стоит сразу же повторять установку (запускать setup) - файлы сервера скопированы верно, ведь ярлык открывает файл Apache.exe. В этом случае обычно неверны настройки сервера. Проверьте файл "httpd.conf" в каталоге "F:\usr\apache\conf\". Особенно внимательно посмотрите на пути (F:\project и т.п.). Не забывайте про слеши! Они должны быть именно именно такие (в ту сторону), как приведены в примере (см. архив). И, очень важно: там, где их нет (например, в конце путей) не нужно их ставить! В завершение проверьте, что на сервере верна структура каталогов. Это основные проблемы, с которыми столкнулись подписчики на сегодняшний день. Если и у вас возникли какие-либо проблемы, пишите, постараюсь помочь.
Знакомство со средой PHP Как примерно работает PHP, вы уже знаете из предыдущего выпуска. Программа на языке PHP называется скриптом и выполняется с помощью файла php.exe, который находится на нашем сервере по адресу F:\usr\php\php.exe. Это и есть сам язык PHP. Программа PHP называется "скриптом" потому, что она не является компилируемой, то есть не преобразуется в машинный код. В отличии, например, от программ на Паскале или Си - знакомые вам файлы ".exe". Файл ".exe" и есть результат компиляции программы с языка программирования в машинный код, который понимает компьютер. С PHP такого не происходит и программу достаточно написать в простой текстовый файл с соответствующим расширением. Итак, программа на PHP - это скрипт, представляющий из себя обычный файл, в котором содержится PHP код. Он выполняется на стороне http-сервера (для чего требуется определенная настройка сервера, произведенная нами в пред. выпуске). Происходит этот процесс примерно так:
Итак, наш сценарий для создания PHP скрипта:
Ну а на деле вы увидите все это в следующем разделе, где мы будем писать первую программу. Читайте далее.
Первая программа на PHP Пришло время для создания нашей первой программы. Конечно, хотелось бы сделать что-нибудь достаточно интересное, но, к сожалению, пока не получиться. Пока целью нашей программы будет усвоение структуры скрипта и методов вывода на экран (это, надо отметить, основная суть языка - вывод данных). Также, эта программа позволит вам проще разобраться в следующем разделе. Начнем?
Шаг 1. <?
Шаг 2.
Шаг 3. Ну а теперь давайте разберем программу на PHP. Посмотрите на скрипт - видите, он начинается и заканчивается символами "<?" и "?>" ? Это первое и обязательное условие. Весь PHP код, который содержится в скрипте, должен выделяться этими знаками. Они означают начало и конец кода, который нужно обработать.
Далее вы видите строку echo "<b>Hello, world!</b>"; Собственно, то что вы увидели в броузере и есть результат выполнения этих двух команд. Это - выведенные ими две строчки html кода. Правда, просто? Я и обещал, что не будет ничего сложного.
Структура, синтаксис и основные элементы программы Программа на PHP всегда оформляется с учетом определенных требований языка. Это называется синтаксисом. Синтаксис программы это правила, по которым пишется программа, разделяются и оформляются различные ее элементы. В этом разделе я расскажу вам об основных элементах программы и их оформлении. Также вы узнаете как правильно оформлять программу на PHP и для чего это нужно. Как вы уже знаете, в скрипте PHP код выделяется значками "<?" и "?>". Однако вся прелесть программы PHP в том, что это не обязательно должен быть чистый PHP код. Это может быть простой текст (обычно html код), с любым количеством блоков PHP кода (<? ... ?>) в любых местах и любом виде. Это позволяет обрабатывать не весь файл целиком, а только некоторые его участки, а остальное выводить как есть. Например, представьте страничку сайта, где 10 КБ html кода, а с помощью PHP выводиться только текущая дата. Было бы неприятно, если из-за даты пришлось бы печатать все 10 КБ с помощью echo() или print(). Но возможности PHP нас от этого избавляют, позволяя вставить всего одну строчку, которая будет печатать дату именно там, где нам нужно. Это чрезвычайно удобно, в будущем вы обязательно оцените это. Выглядит это примерно так:
Просто текст. Как видите, вы вольны использовать файл с расширением ".php" как вам угодно. Он может даже вообще не содержать участков php кода. Расположение строк и элементов программы относительно друг друга также не имеет никакого значения. Вы можете писать код как угодно, разделяя функции и другие элементы программы любым количеством пробелом и переносов строки (в терминах программирования "разделители") - они не имеют принципиального значения. То есть, программа такого вида:
<? и такого вида:
<?echo "Строка 1";echo "Строка 2"; ...является одним и тем же скриптом. Зато имеет огромное значение символ ";" (точка с запятой). Это обязательный символ, который должен стоять в конце каждого оператора. Символ ";" закрывает оператор программы, при его отсутствии вы будете получать ошибку. Обычно PHP будет сообщать что-то вроде Parse error: parse error, expecting "," or ";". В конце каждой функции, переменной и т.п. должен стоять этот символ. Не забывайте про него. Вот пример программы, когда символ ";" отсутствует (эта программа работать не будет):
<?
Кроме того, богатый синтаксис PHP выражается в возможности по-разному оформлять блоки PHP кода. Изученный нами пример оформления (<? ... ?>) является не единственным, помимо него еще несколько способов. <? ... ?> <?php ... ?> <script language="php"> ... </script> Вы можете использовать любой из этих стилей оформления программы на PHP. Лично я рекомендую (и буду далее использовать в примерах) самый первый способ (<? ... ?>) как более короткий и поэтому самый удобный. Но при другие способы забывать не стоит, чтобы не удивляться в дальнейшем при встрече с ними. Кроме того, в программе PHP часто используются так называемые "комментарии". Это примечания, заметки, комментарии к программе, которые пропускаются обработчиком и не выводятся на экран. То есть совершенно игнорируются. Комментарии бывают двух типов: однострочные и многострочные. Однострочный комментарий начинается двумя слешами "//" и продолжается до конца строки:
<?
Многострочный комментарий начинается символами "/*" и заканчивается символами "*/". Такие комментарии могут быть в несколько строк:
<?
echo "Строка";
Функции являются важнейшим элементом любого языка программирования. Практически все, что выполняет ваша программа, делается с помощью функций - выводите ли вы текст или считаете длину строки. Мы с вами, кстати, уже успели изучить две функции - это echo() и print(), которые делают по сути одно и тоже. Подробнее про различные функции и их назначение я буду рассказывать в следующих выпусках, а пока давайте посмотрим, как они оформляются (на примере функции echo() ). Функция всегда состоит из двух частей. Первая - это имя функции (echo), вторая часть - это параметры функции. Давайте разберем, как оформляется каждая из этих частей. Имя функции Имя функции (echo,print...) может быть написано в любом регистре, как вам больше нравиться. То есть регистр букв в имени функции не имеет совершенно никакого значения. К примеру, функцию echo можно написать такими способами: Echo, ECHO, EchO, eCho и т.п. Ошибки не будет. Параметры функции
Параметры функции - это то, что передается ей из программы. Например, параметры для echo - это строка или переменная, которую она выводит на экран. <? echo "Строка"; ?> Обратите внимание, что параметры могут оформляться по-разному. Вот основные методы оформления параметров: <?
В первых двух вариантах разница состоит в синтаксисе написания строк (это тема следующего выпуска N4). А вот остальные, когда в echo() варьируются варианты со скобками и без скобок - это на ваш выбор. С одной стороны, использовать команду echo() без скобок удобнее, с другой не все функции позволяют опускать скобки. Если функция имеет несколько параметров, то скобки опускать нельзя. Это главный принцип использования скобок. Некоторые функции могут иметь несколько параметров, а могут и не иметь их вообще. Например функция phpinfo, которую мы использовали в прошлом выпуске. Отсутствия параметров обязательно указывается двумя скобками рядом с именем функции (как вы, видимо, успели заметить). Например, так: phpinfo(), echo() или print(). Не забывайте ставить эти скобки, тем более что PHP не сообщит вам об ошибке, он просто не выполнит функцию. Теоретически к функции можно зачислить и третью часть - это точка с запятой ";", которая, как мы изучили выше, завершает любой оператор. Действительно, точка с запятой имеется у функции всегда, но она на самом деле не является ее частью. Этот символ лишь показывает завершение функции как оператора программы. Что такое переменная? С точки зрения программы это ячейка, в которой храниться какая-либо информация. Как вы понимаете, программа работает с данными: числами и строками. Переменная - место, где хранятся эти данные. Обратите внимание, что данные могут быть различных типов - строки, числа и некоторые другие. Подробнее о типах я расскажу вам в следующем выпуске. Каждая переменная имеет свое имя и обозначается символом "$". Например, переменная $a. Вот как это выглядит в программе:
<? Здесь используется переменная $a, которая хранит слово "Строка". Мы можем вывести эту переменную на экран (как в примере - с помощью функции echo() ), а также производить с ней некоторые другие действия. Имя переменной может состоять из латинских букв, цифр и символа подчеркивания "_", но не может начинаться с цифры. Также, имена переменных, в отличии от имен функций, чувствительны к регистру. Это означает, что переменные $a и $A - две разных переменных. Длина имени переменных может быть не более 255 символов. Называться переменная может как угодно. Ей позволительно даже стать тезкой какой-нибудь функции, например:
<? Это не вызовет никаких нареканий со стороны PHP. Чтобы использовать переменные в программе, достаточно просто задать им значение как в предыдущем примере. В отличии от некоторых языков программирования (например, Паскаль) переменные не нужно описывать в отдельном разделе. По части использования переменных PHP очень похож на Бейсик. Вот несколько примеров использования переменных:
<? В примере используется три переменных, которые выводятся на экран с помощью echo(). Обратите внимание, как echo() умеет печатать данные - можно указывать любое количество параметров через запятую, в том числе комбинируя их со знакомыми нам приемами:
<?
echo ("Такое оформление тоже работает: ", $a, '
Из школьного курса (в частности, курса физики) вы должны помнить определение константы. Если слово "переменная" явно подразумевает, что она может изменять свое значение, то "константа" этого делать не умеет. Задали ее один раз в программе и потом можем только использовать, изменять не получиться. В PHP константы оформляются в следующем виде:
define (a1,"Строка");
Здесь слово define - это оператор, описывающий константу. Далее в скобках идет имя константы (a1,b1) и ее значение ("Строка", 123). Обратите внимание, скобки в define обязательны, так как этот оператор имеет несколько параметров.
<?
echo a1,b1;
Видите, при использовании константы в ее имени не указывается символ "$", в отличии от переменных. Это и идентифицирует в оператор как константу. Поэтому константа может повторять имена переменных, используемых в программе, но не может (как переменная) быть тезкой функции. Это значит, что если вы имеете в программе переменную $a = 123;, то имеете полное право создать константу define(a,"345");. Это будут два совершенно разных оператора. Однако вы не можете создать константу вида define(echo,"345");, так как echo - это имя функции. Кроме того, имена констант чувствительны к регистру, так же как и имена переменных.
<?
// echo - это ошибка. нельзя называть именами функций!
// A1 здесь не напечатается. Не забывайте про регистр! Правильное оформление программы Еще из далекой школы я помню, насколько отличались тетрадки девчонок и пацанов :)) Лично я иногда писал так, что было совершенно невозможно разобрать, где, что и как. Мне и в голову не приходили какие-то там поля, отступы и т.п. Но со временем, уже когда учился в институте я осознал, насколько упрощает жизнь (а сколько экономит времени и сил!) правильно оформленный конспект. Приходилось привыкать к аккуратности, которой до этого не было и в помине :) Так и в программировании. При написании PHP скрипта желательно соблюдать определенную структуру оформления программы. Так как в PHP нет отдельных участков кода (как, например, в Паскале - раздел констант, переменных, тело программы), то в самом тексте скрипта иногда получается куча переменных, констант, функций и т.п... которые то и дело изменяют свои значения, с ними производятся манипуляции и так далее. Поэтому очень важно писать все последовательно и отделять тематические участки программы друг от друга. Как выглядит правильно оформленная программа? Посмотрите на этот пример:
<?
?> В такой программе очень удобно разбираться. Операторы аккуратно отделены друг от друга, каждый на записан в отдельной строке. Как она отличается, например, от такого варианта:
<?
Такое приходится очень часто наблюдать. Разобраться в такой программе при большом объеме практически невозможно. К тому же аккуратность составления решает очень многие вопросы с отладкой программы. Если вы уже успели допустить ошибки в скрипте, то заметили, что PHP всегда сообщает номер строки, где имеет место ошибка. Это позволяет оперативно найти и устранить ее. В неправильно составленной программе это очень проблематично. Итак, программа имеет определенную структуру. Описать ее каким-либо правилом довольно сложно: здесь нет конкретных правил. Однако я хотел бы с самого начала научить вас корректно составлять программы, в чем постараюсь послужить наглядным примером. Возможно вы зададитесь вопросом, зачем нужно привыкать к правильному и упорядоченному оформлению. Во-первых, когда скрипт будет занимать хотя бы больше 1 КБ, то в хаосе функций и переменных будет очень сложно ориентироваться. А в упорядоченном файле всегда все на своих местах. Во-вторых, вы просто не сможете продуктивно работать с таким скриптом. Отсюда и программа будет написана хуже, и (если вы учитесь) процесс обучения идет медленнее. Ваши глаза и внимание будут намного больше уставать. Кстати, знаете ли вы, что большинство программистов носят очки не потому, что это следствие пагубного действия монитора (изучение и т.п. - это прошлый век), а потому, что глаза постоянно утомляются, напряженно следя за программой. Возможно, некоторые (особенно те, кто уже занимается программированием) подумают, что я зря выделил целый раздел для этой информации. И будут неправы. К сведению, проблема упорядочивания кода с целью повышения продуктивности рабочего времени действительно актуальна и рассматривается сейчас многими организациями. Для таких целей даже созданы специализированные редакторы (Homesite, PHPEd, Perl Builder...), которые содержат множество способов упорядочить код. В частности, они расцвечивают синтаксис (например, функции рисуют синим цветом, переменные - зеленым, комментарии - серым...), самостоятельно изменяют регистр (заменяя "echO" на "echo") и даже форматируют код (проставляя табуляции, размещая все по своим местам и т.п). Не верите? А как вам опция "CodeSweeper" в HomeSite? Именно поэтому всегда сразу видна программа, написанная профессионалом. Это упорядоченные строчки и столбики операторов, один под другим. Профессиональный программист всегда ценит свое время и рабочее настроение, которое сложно сохранить после 10 часов работы :)) Итак, хотелось бы привести несколько основных правил, которые помогут вам не запутываться в коде и действительно меньше уставать при работе над программой.
Вот такие основные правила. Очень надеюсь, они помогут вам в работе. Стоит выбрать свой стиль и придерживаться его всегда. Со временем вы привыкнете к подобному оформлению и уже не будете над этим задумываться. И, поверьте мне, останетесь благодарны тому, что не поленились по началу писать аккуратно.
В следующем выпуске В четвертом выпуске вы узнаете, какие бывают в PHP типы данных и начнем с ними работать. Также мы изучим несколько новых функций и, конечно, напишем несколько примеров. Также я буду рад выслушать любые комментарии, пожелания и критику. Что вы хотите видеть в следующем выпуске? Может стоит продолжить какую-нибудь тему, остановиться на чем-то? Или вы хотите увидеть что-то новое и интересное? Пишите! Я всегда жду ваших писем.
С уважением, Дмитрий. |
||
Ведущий рассылки: Дмитрий. dmitry@eserver.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||