Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP обучение на примерах - Кухарчик А..pdf
Скачиваний:
139
Добавлен:
24.05.2014
Размер:
24 Мб
Скачать
☆

56

Знакомьтесь — РНР

Управление электронными письмами

Оно сведено к одной функции. Есть адрес и текст, который нужно отправить на этот адрес. При помощи РНР письмо будет отправлено без проблем. В дальнейшем мы рассмотрим не один пример с поддержкой отправки писем.

На своем личном опыте я могу сказать, что сайт, построенный полностью на РНР, не испытывает каких-либо задержек в открытии и работе, даже несмотря на то, что интерпретатор РНР испытывает значительные нагрузки при размещении на сайте новостей, счетчика статистики, генерации баннеров нескольких типов и «склеивания» страницы из нескольких фрагментов. Это и многое другое будет нормально функционировать при условии элементарной внимательности и качественной настройки сервера.

Конечно, перечисленные возможности языка РНР далеко не полные, но по мере знакомства с ним вы научитесь создавать очень сложные вещи буквально одним движением руки (это я образно, конечно) и узнаете значительно больше.

Вывод на экран и переменные в РНР

РНР очень легко позволяет организовать вывод текста на экран. Рассмотрим пример скрипта:

<?php

echo "Привет, мир!";

СОВЕТ

Не обязательно открывающий тег РНР писать именно так: <?php. Вполнедопустим вариант <?,хотя это и не постандарту. Но если уже давно поддерживаются оба варианта, почему бы второмутоже не стать стандартом? Выбирайте то, что вам больше нравится.

Вывод на экран и переменные в РНР

57

Этот скрипт может быть расположен в любом месте HTML-до- кумента, и сам по себе он не несет ничего полезного, так как просто выводит на экран фразу «Привет, мир!». Но таким образом мы знакомимся с одной из наиболее распространенных функций РНР — echo, которая выводит информацию на экран пользователя.

Чтобы разобраться в работе скрипта, давайте познакомимся с переменными.

Переменная характеризуется именем, типом и значением. Имя может быть любым и включать в себя цифры, буквы английского алфавита и разрешенные символы (например, символ подчеркивания или тире). Все переменные в РНР обязательно должны начинаться со знака $, что позволяет интерпретатору безошибочно отличать переменные от функций. Давайте ясные и по возможности «говорящие» имена своим переменным, однако не слишком длинные, максимум из двух слов. Разделить два слова можно, поставив «_» (символ подчеркивания) или написав второе слово с заглавной буквы.

ВНИМАНИЕ

Названия функций в РНР не зависят от регистра (т.е. ECHO то же самое, что echo), а имена переменных — регистрозависимы (т.е. $os и $OS — разные переменные).

По типу переменные делятся на целочисленные, с плавающей запятой, строковые, объектные, булевы и массивы.

Заранее описывать тип переменной, как в языках Pascal или Visual Basic, не требуется. Разделение на типы в принципе условное, и все же каждая переменная автоматически стремится использовать правильный тип, соответствующий своему значению.

ВНИМАНИЕ

Если мы попытаемся использовать неинициализированную переменную в работе, это посчитается интерпретатором за ошибку. Но это не является ошибкой, так как переменная тутже будет

58

Знакомьтесь — РНР

 

 

 

инициализирована и ее значение будет приравнено к нулю или пустой строке в зависимости оттипа.

Однако это справедливо, только если уровень обработки ошибок не выставлен на максимальный контроль. Если же уровень ошибок максимален, обращение к несуществующей переменной вызовет сообщение об ошибке (программа при этом будет работать дальше). Чтобы подавить такое сообщение об ошибке, можно заранее описать все использующиеся в программе переменные, присвоить им значение «ноль» или «пустая строка». Второй вариант подавления ошибки: перед именем переменной поставить символ @, который подавляет сообщения об ошибках.Воттак:@$name; if(@$name)и т.д. Для постоянного подавления сообщений о таких ошибках нужно соответствующим образом настроить конфигурационный файл php.ini

(см. выше).

Значение в соответствии с типом может быть практически любым. Например, $а = 5. Это говорит о том, что имя переменной — $а, тип — целочисленный, значение — 5. Еще примеры:

1<?php

2$name = 6;

3$hl2 = 4.89;

4$file_type = "path/index.phtml";

5$os = "PHP для всех!";

6?>

Во второй строке нашего скрипта переменной $name присваивается значение 6, и эта переменная автоматически становится целочисленной.

В третьей строке кода переменной $hl2 присваивается значение 4.89, которое имеет тип числа с плавающей запятой. В четвертой и пятой строках кода переменным присваиваются значения со строковым типом. Все, что заключено в кавычки (включая цифры), будет интерпретировано как символьная строка.

Простейшие арифметические операции

59

Простейшие арифметические операции

Как и в других языках программирования, над переменными можно совершать любые арифметические действия в соответствии с обычной логикой. Достаточно указать переменную для результата, знак равенства и перечислить в порядке выполнения действий переменные или значения с необходимыми арифметическими знаками. Пример:

<?php $а = 5;

$b =

3;

$с =

4;

$d =

$а + $b - $с;

echo

$d;

?>

 

Результат работы скрипта — вывод на экран цифры 4,

РНР поддерживает все математические функции, многоуровневые скобки, логические операции, операции увеличения или уменьшения на единицу и многое другое.

В РНР есть функции для увеличения или уменьшения переменной на единицу. Для этого нужно указать имя переменной и за ним без знака равенства подряд два плюса или минуса соответственно. Например, $а++; — переменная $а будет увеличена на единицу.

Нескольким переменным можно одновременно присвоить одно значение: $а = $b = 4; — обе переменные и $а и $b будут равны четырем. Вот еще несколько примеров нестандартных арифметических операций в РНР:

<?php

$b = $а = 5; /* присваиваем одинаковое значение переменным $а и $b */

60

Знакомьтес

$с = $а++; /* последующее увеличение, присваиваем $с начальное значение $а {5) , а затем увеличиваем $а на единицу */

$е = $d = ++$b; /* предварительное увеличение, присваиваем переменным $d и $е значение $b, увеличенное на единицу, т.е. $d и $е равны 6 */

$f = 2 * ($d++); /* присваиваем переменной $f удвоенное значение переменной $d до его увеличения, т.е. 2 * б = 12, и затем увеличиваем $d на единицу */

$g - 2 * (++$е); /* присваиваем переменной $g удвоенное значение переменной $е после его увеличения, т.е. 2 * 7 = 14 */

$h = $g += 10; /* сначала увеличиваем значение $g на 10, что дает в результате 24, а затем присваиваем это значение переменной $h */

?>

Рассмотрим следующий работоспособный скрипт, который вы можетевставитьксебенастраницу. Задача:вывестинаэкранчерез пробел определенное количество последовательных чисел. Внашемслучаеэто1,2,3,4,5,т.е.пятьпоследовательныхчисел, начиная с единицы. Код решения:

<?php

$i = 1; // присваиваем переменной $i значение 1

echo $i; // выводим переменную $i

$i++; // увеличиваем переменную на единицу

echo " ".$i; // выводим увеличенную на единицу переменную, не забыв о пробеле

// повторяем эти две операции необходимое количество раз

$i++;

echo " ".$i;

Простейшие логические операции

61

$i++;

echo " ".$i;

$i++;

echo " ". $i; ?>

Пример, конечно, не самый лучший , но основные понятия языка уяснить можно.

Увеличение переменной на единицу реализуется указанием двух плюсов после переменной — $i++, хотя ничего не мешает писать так — $i = $± + 1;. Выполнив эту инструкцию пять раз, соответственно увеличим переменную на пять, выводя между делом результат и не забывая о пробелах. На экран в результате работы скрипта будут выведены подряд (в строку) цифры «1 2 3 4 5».

Если бы стояла задача вывести указанные цифры не в строчку, а в столбец, то вместо пробелов в кавычках надо было бы поставить HTML-тег перевода строки <br>. Вот так — echo "<br>" . $ i; . В результате на экране появится столбик из пяти цифр.

Теперь рассмотрим алгоритм этого скрипта:

•начать скрипт;

•присвоить переменной $i значение 1;

•вывести переменную $i на экран;

•увеличить переменную $i на единицу;

•вывести пробел и переменную $i на экран;

•выполнять столько, сколько надо;

•закончить скрипт.

Как видите, ничего сложного нет. Просто делаем то, что нам надо.

А теперь посмотрите, что получится в HTML-коде: ни следа РНР! Это ли не мечта многих — иметь возможность скрыть свой HTML-код.

1 Для решения данной задачи лучше было бы воспользоваться циклом (см. ниже), но на первых порах для знакомства я буду стараться все максимально упрощать.

Соседние файлы в предмете Программирование