|
| |||||||||||||||||
PHP и WEB для новичков (часть 1)Автор: Владислав Демьянишин
ВступлениеСегодня язык PHP является наиболее распространенным и используется для программирования динамических веб-страниц. PHP исключительно удобный и постоянно развивающийся язык. В рамках нашего журнала мне хочется открыть некий образовательный курс, целью которого является не только научить программированию на языке PHP, но и предостеречь от распространенных ошибок и показать эффективные приемы и инструменты. Помимо этого курс предполагает рассмотрение работы с базами данных (БД) и другими технологиями, которые используются практически каждым опытным веб-программистом. Предполагается, что читатель уже знаком с языком HTML.
Что такое PHP?PHP – это язык серверных скриптов (server scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере.
PHP является препроцессором HTML. Т.е. его работа построена так, что до того, как сервер «отдаст» файл браузеру, его просматривает препроцессор-интерпретатор. Для того, чтобы это происходило, файлы, которые подвергаются обработке препроцессором, должны иметь определенное расширение (обычно это .phtml, .php3 или .php, но эти значения можно поменять) и содержать (хотя это не обязательное требование) код для препроцессора.
Перед отправкой страницы PHP-код выполняется на сервере и браузеру выдается результат в виде опять таки HTML-страницы, которая может сильно отличаться от той, что хранится на сервере. Обычные же страницы, имеющие расширение .html/.htm Web-сервер будет отправлять браузеру без какой-либо обработки.
Отличие от CGI-скриптов, написанных на других языках, типа Perl или C – это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP – вы встраиваете свою программу-скрипт в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере ).
PHP называется языком серверных скриптов в отличие от JavaScript/Jscript/VBScript, которые являются языками клиентских скриптов. Это значит, что PHP-скрипт выполняется на сервере, а клиенту передается результат его работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется браузером.
Основы PHPДля начала обозначим сферу применения PHP. Как и любой другой скриптовый язык, PHP применяется на сайтах, содержание (контент) которых является динамичным, то есть зависит от того, кто, когда и каким образом его просматривает, а также имеет возможность дополнять и редактировать контент (порталы, форумы, гостевые книги, википедии, социальные сети, Интернет-магазины). Помимо этого PHP может пригодится для организации статичных сайтов большого объема, что содержат большое количество документов, которые необходимо структурировать и привести к определенному общему виду (электронные библиотеки, сайты документации).
Результатом работы PHP являются обычные странички на языке HTML. То есть посетитель веб-сайта может не догадываться, что веб-страничка не является странницей, а была сгенерирована в ходе выполнения PHP-скрипта. Код PHP (т. е. некоторый текст программы, который должен выполняться сервером и результатом выполнения которого будет веб-страница) может быть встроен в текст HTML-кода.
Поскольку обучение языку PHP сопряжено с апробацией многих пробных примеров кода, то для выполнения и отладки кода понадобится веб-сервер. К тому же он пригодится и после обучения, уже в процессе самостоятельной вашей работы как PHP-специалиста.
Поскольку на данный момент наиболее распространенной является операционная система Windows, то рекомендую установить базовый комплект “Денвер”, который состоит из веб-сервера Apache, модуля PHP и сервера баз данных MySQL, который нам тоже понадобится. Комплект "Денвер" можно скачать тут: http://www.denwer.ru/base.html (или старая ссылка http://dklab.ru/chicken/web/base.html) размер 5.7 Мб.
Там же имеется детальная инструкция по установке комплекта и устранению возможных проблем. Могу сказать, что процесс установки и настройки весьма прост. Несмотря на то, что постоянно выходят более новые версии пакета, процесс установки не изменился и сводится к следующему:
1. Запустить EXE-файл Денвера. Запускать лучше через "Мой компьютер", поскольку файловый менеджер Total Commander может отказаться его запустить.
2. Нажать Enter два раза.
3. На предложение "Установить в папку C:/WebServers" - ответить Y.
4. На предложение "Ввести букву виртуального диска" - ответить Z или любую другую свободную букву диска в конце алфавита.
5. Для начала копирования файлов нажать Enter.
6. Далее выбрать режим работы - рекомендуется ответить 2.
7. На предложение "Создать ярлыки на рабочем столе" - ответить Y.
Разумеется, можно установить и любой другой пакет, поддерживающий PHP (Microsoft IIS и др., а также серверы на базе Unix-платформ).
Для того, чтобы сделать первый шаг, установим комплект, создадим новый сайт на локальном диске:
1. Создадим папку C:/WebServers/home/multimedia
2. Создадим папку C:/WebServers/home/multimedia/www
3. Запустим (или если Денвер уже запущен, то перезапустим) сервер, наберем в строке адреса браузера http://multimedia/ и тогда увидим такую картинку (см. рис. 1):
Рис. 1
Это означает, что установка сервера прошла успешно. Теперь попробуем создать PHP-скрипт. Создадим в папке C:/WebServers/home/multimedia/www/ скрипт test.php такого содержания:
Это обычная страничка, написанная на языке HTML, за исключением той части, которая находится между . В такие теги заключаются части PHP-скриптов. Вся робота данного скрипта состоит в том, что он выводит фразу “Hello!” в HTML-страничку.
Запустим этот скрипт, набрав в браузере адрес http://multimedia/test.php. Получим страничку с единственной фразой “Hello!”. На рис. 2 показан вид такой странички и ее код в HTML:
Рис. 2.
Сделаем еще одну настройку. В папке multimedia создадим файл .htaccess (имя именно такое, начинается с точки) и напишем в нем текст из одной строчки:
php_flag register_globals off
Зачем это сделано расскажу позже.
Переменные и константыПрограммирование всегда предполагает оперирование некоторыми значениями: для числовых – выполнение арифметических операций, таких как сложение, вычитание, умножение, деление и др.; для строчных – сложение (сшивание строк), поиск фрагмента и преобразование, усечение. Разумеется, исходные значения и результат операций необходимо где-то хранить.
Для этого и существуют переменные и константы. Значения переменных можно менять в течение выполнения скрипта, а значения констант устанавливаются один раз, и не могут быть изменены, пока выполняется скрипт. Вообще переменные и константы существуют, пока выполняется скрипт.
Переменной будем называть некоторую область памяти, которая имеет имя, тип и значение. Имя ей необходимо, чтобы скрипт мог обращаться по имени к конкретной переменной, среди многих других переменных. Тип нужен, чтобы правильно интерпретировалось ее значение, ведь числовое значение и строчное – это не одно и то же. Определимся с каждым из этих понятий.
Имя переменной должно начинаться с буквы или знака подчеркивания и может содержать только буквы, цифры и знак подчеркивания. Перед именем переменной всегда ставится знак $ (доллар). Примеры правильных имен:
$a
$c2347
$c_var
$_MyVar
Примеры неправильных имен:
e
$c-var
$var#5
$kla,va!
Следует помнить, что регистр букв в именах переменных имеет значение. То есть $myvar, $MyVar и $MYvAr – это разные переменные. Поэтому рекомендую придерживаться того правила, что все переменные набираются строчными (маленькими) буквами – так вы наверняка не запутаетесь.
Тип и значение. Тип переменой определяет некоторые свойства ее значения. Переменная может содержать число (целое или вещественное, т.е. дробное с плавающей запятой), строку текста, логическое значение, а также сложные типы: несколько упорядоченных значений (массив) или объект. Рассмотрим простые типы детально.
integer – целый тип. Переменные этого типа могут содержать целое число. Пример: 82
double – вещественный тип. Переменные этого типа могут хранить дробные числа (с плавающей запятой). Пример: 54.702
string – символьный тип. Переменные такого типа могут хранить строку текста. Пример: “Hello my friends!”
boolean – булевский (логический) тип. Значение такой переменной может принимать только одно из двух значений: true (истина) или противоположное значение false (ложь).
Рассмотрим такой пример:
который выдаст
integer
double
string
boolean
array
В данном случае сначала выполняется инициализация (проще говоря, запись в переменную) переменных значениями, затем при помощи функции gettype получаем тип переменной в виде текстовой строки и командой echo выводим строку в веб-страничку.
В отличие от других языков программирования, тип переменной в PHP определяется по контексту на момент присвоения значения оной. Такое присвоение выполняется при помощи оператора присваивания, который обозначается знаком “=” (равно), например, так:
После выполнения такого скрипта мы получим переменную с именем $a типа string и значением “Hello friends”, переменную $c типа int и значением 2, переменную $e типа float и значением 3.15 и переменную $g типа boolean и значением true. Если сразу после этого попробовать вывести значения этих переменных в страничку таким образом:
echo "a=$a, c=$c, e=$e, g=$g";
то будем иметь такой результат (см. рис. 3):
Рис. 3
Обратите внимание, что переменная типа boolean на самом деле является переменной целого типа. Для хранения логических значений используется 1 (единица) для true и 0 (нуль) для false. Строки текста могут быть ограничены как двойными кавычками (“), так и одинарными (апостроф ‘). Разница состоит в том, что если указать в двойных кавычках имя переменной, то в строку будет подставлено ее значение, например, такая конструкция
выдаст строку
Hello friends
Тот же самый пример с одинарными кавычками
$b = 'Hello $a';
выдаст строку как она есть
Hello $a
Обратите внимание, как в данном примере будет выполнена конструкция $a и $a. В первом случае будет подставлено значение переменной $a, а во втором выведена строка '$a'.
Имеется несколько спецсимволов, которые тоже обозначаются со знаком слэша, например, знак табуляции t и знак перевода строки n. Разумеется, это касается только строк в двойных кавычках.
Сложными типами являются массивы (array) и объекты. Объекты мы будем рассматривать немного позднее, а массив состоит из нескольких значений одного или разных типов, которые могут храниться под одним именем и отличаться лишь разным индексом. Массив объявляется при помощи служебного слова array, затем в круглых скобках через запятую следует перечисление значений элементов. Пример:
$a = array("апельсин", "банан", "яблоко");
Массив $a имеет три элемента, которые имеют индексы соответственно 0, 1 и 2, по порядку. Для доступа к каждому элементу массива пишут имя массива, а индекс указывают в квадратных скобках. Вот такой скрипт:
$a = array("апельсин", "банан", "яблоко");
echo "$a[0], $a[2], $a[1]";
выдаст строку
апельсин, яблоко, банан
Индексами массива могут быть не только числа, но и строки текста. Такие массивы называются ассоциативными, а работают с ними, например, таким образом:
$a = array("апельсин" => "оранжевый",
"желтый" => "банан",
"зеленый" => "яблоко");
echo "зеленый: ";
echo $a["зеленый"];
Этот пример выдаст строку
зеленый: яблоко
Другой пример проименованных областей памяти в PHP – это константы. От переменных они отличаются тем, что принимают одно значение и изменять его не могут. Имена констант не должны начинаться со знака $ (доллар), а значения им присваивают при помощи служебного слова define:
define(PI, 3.1415926);
echo "число pi=";
echo PI;
Обратите внимание, что если требуется выдать значение константы, то нельзя указывать его в строке просто так, как это можно проделать с переменной. То есть пример
echo "число pi=PI";
выдаст строку
число pi=PI
вместо
число pi=3.1415926
Продолжение следует…
© Владислав Демьянишин
На нашем сайте можно не только бесплатно скачать игры, но и документацию и книги по программированию на MIDLetPascal, Turbo Pascal 6, Turbo Pascal 7, Borland Pascal, по программированию устройств Sound Blaster, Adlib, VESA BIOS, справочник Norton Guide и много другой полезной информации для программистов, включая примеры решения реальных задач по созданию резидентных программ. Журнал > Программирование > PHP и WEB для новичков (HTML, JavaScript, PHP, MySQL) > PHP и WEB для новичков (часть 1): Вступление
| ||||||||||||||||||
|
||||||||||||||||||