Как пишутся скрипты на PHP

php

В этой статье:

  • Размещение PHP на HTML-странице
  • Комментарии в скриптах
  • Отображение текста
  • Переменные и константы в PHP
  • Оператор присваивания
  • О типах данных






Для написания кода на PHP подходит любой текстовый редактор (например Notepad++).

 

Размещение PHP на HTML-странице

Код скрипта PHP может размещаться непосредственно на HTML-странице. Чтобы узнать, как это делается, давайте рассмотрим следующий простой пример:

<html>
<body>
<p>Это обычный HTML-документ</p>
<?php echo"А это PHP" ?>
</body>
</html>

С первого взгляда пример напоминает обычный файл HTML. Единственное новшество здесь –– конструкция <?php ?>.

Все, что стоит между <?php и ?>, интерпретируется как код на языке PHP. Здесь мы также видим пример использования команды echo –– одной из наиболее важных, часто используемых команд при программировании на этом языке. Команда echo применяется, когда необходимо что-либо написать в текущем документе. Так наша небольшая программа на PHP в HTML-документе выводит фразу «А это PHP». Все что находится вне <?php ?> процессор РНР передает без изменения непосредственно на динамическую web-страницу.

Вместо специального тега <?php ?> могут также использоваться теги <script>:

<script language="php">
код на РНР
</script>

 

Наш первый сценарий

Тексты сцеариев (php-программ) должны храниться в файлах с раширением php.

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

Первый скрипт на РНР (файл index.php) будет достаточно простым, но уже он продемонстрирует совместное использование HTML и РНР.

<html>
<head>
<title>Первый пример</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>

<?php
/* Присваиваем значения нескольким переменным */
$title = "Наша первая динамическая страница";
$user_name = "User";
/* Определяем константу */
define(pi, 3.141592);
?>
<body>
<hr />
<?php
echo "<h3> $title </h3>";
/* echo - конструкция php для вывода текста с сервера в браузер */
echo "<p>"."Ваше имя: ".$user_name."</p>"; // имя пользователя
echo "<p>", "Дата: ", date("d-m-Y"), "</p>"; // текущая дата
echo "<p>", "Константа pi = ", pi, "</p>";
?>
<hr />
</body>
</html>

PHP-программа состоит из двух операторов присваивания, определения значения константы и вывода текста и текущей даты в окно браузера с помощью команды echo.

Данный текст можно набрать в любом текстовом редакторе, например, в NotePad++, и сохранить под именем index.php. Следует убедиться, что файл сохранен как php-файл, в противном случае он не будет корректно обработан РНР.

В случае локальной работы необходимо скопировать файл index.php в каталог документов web-сервера. Для Denver это home/localhost/www (если в настройках не указано иное). После чего можно переходить непосредственно к запуску скрипта.

Для запуска скрипта index.php следует открыть web-браузер, а затем ввести в адресной строке полный путь к этому скрипту. В случае локальной установки адрес будет таким:

1_3

Если все сделано правильно, на экране мы увидим:

1_4

Файл styles.css (таблица стилей):


/* Стили для отображения содержимого страницы&nbsp;*/
* {
margin: 0; padding: 0;
}
body {
font-family: Verdana, Arial, sans-serif;
color: #14556b;
background-color: #f2f2f2;
margin: 20px;
}
h3, p {
margin: 6px 0; /* Поля заголовков и абзацев&nbsp;*/
}

Прямо из браузера мы можем просмотреть код этой странички, сформированный web-сервером:

1_5

Таким образом, имя переменной заменяется ее значением, которое помещается на то же место, где в программе стояло имя этой переменной.

Итак, PHP-файлы обычно представляют собой смесь HTML, CSS и РНР. При этом РНР-код всегда заключается внутри конструкции <?php ?>. Web-сервер посылает HTML-код браузеру без изменения. РНР-код выполняется, и если он формирует теги и какой-либо текст для отображения, этот текст вставляется на то место, где размещался РНР-код. Браузер интерпретирует HTML-теги страницы и отображает результат на экране.

PHP-код может располагаться в произвольном месте и многократно включаться в текст скрипта. С его помощью можно также формировать и HTML-теги, что видно из нашего примера.

 

Комментарии в скриптах

Содержание PHP-скрипта представляет собой код на РНР или на HTML. Но есть также комментарии, которые предназначены для описания скрипта.

В РНР существует три типа комментариев. Первый позволяет располагать комментарии в нескольких строках, начиная их символами /* (записываются без пробела) и заканчивая символами */, например:


<?php

/* В РНР существует три типа комментариев.
Первый позволяет располагать комментарии
в нескольких строках */

?>

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

Многострочные комментарии могут оказаться полезными там, где надо вставить значительный объем текста. Кроме того, распространенным приемом при отладке программы является заключение части кода в комментарий (чтобы предотвратить его выполнение).

Остальные два типа комментариев начинаются с символов // или символа # и продолжаются только до конца строки, в которой они записаны. Этот тип комментариев удобен тем, что их можно размещать справа от операторов, например:

<?php
echo "Доброе утро!"; //вывод первой строки приветствия
echo "Доброе утро!"; #вывод второй строки приветствия
?>

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

1_6 1_7

 

Отображение текста

Оператор echo, который предназначен для отображения произвольного текста на web-странице, является, пожалуй, наиболее употребительным оператором РНР. В простейшем случае после echo следует поместить одну строку в кавычках. Текст может быть заключен как в двойные кавычки, так и в простые кавычки (апострофы). Для отображения чисел кавычки необязательны, например:

<?php
echo "12345";
echo ′12345′;
echo 12345;
?>

В общем случае после echo можно записать несколько строк для вывода, которые разделяются запятыми.

При необходимости длинная строка может быть размещена на нескольких строках в тексте скрипта, например:


<?php

echo "Этот текст
занимает
нескольео строк";

?>

Отдельные строки могут объединяться при помощи оператора сцепления «.» –– точка. В результате образуется единая строка, которая передается оператору echo. Например:


<?php

echo "Привет,"."это"."PHP";

?>

что эквивалентно


<?php

echo "Привет, это PHP";

?>

Для отображения кавычки следует разместить перед ней обратный слеш, например:


<?php

echo "Он сказал: \"Я люблю пить по утрам - кофе\"";

?>

Замечание. Если выводится одна текстовая строка, то вместо оператора echo можно использовать функцию print. В этом случае различий между echo и print нет. Однако в echo мы можем добавлять к первой строке другие строки, разделяя их запятыми.

 

Отображение большого текста

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

1_8

1_9

 

Вывод без использования echo или print

Иногда, чтобы упростить код фрагмента программы, можно отказаться от использования echo. В языке php конструкция <?php echo ?> эквивалентна <?= ?>. Например, вывод значения отдельной переменной <?php echo «$var»; ?> можно записать в сокращенной форме (без пробелов) так: <?=$var ?>.

 

Переменные, оператор присваивания

Как и в любом языке программирования, переменные предназначены для хранения данных. В РНР имена переменных всегда начинаются со знака доллара $, далее следует буква или знак подчеркивания, после которого может следовать произвольное количество букв, цифр или знаков подчеркивания. Следует помнить, что в именах переменных большие буквы и малые буквы различаются. Например, $var и $Var –– это разные переменные.

После создания переменной (в результате присваивания ей некоторого значения), доступ к этой переменной возможен в любом месте скрипта. При этом одна и та же переменная может содержать на протяжении программы значения разных типов.

Переменная существует до тех пор, пока выполняется программа.

Для присвоения значения переменной в РНР используется оператор присваивания, обозначаемый знаком равенства =. Ниже приведены примеры операторов присваивания:

$ternperature = 24;

$number_of_earths = 1;

$pi = 3.1415926535;

$message = «Доброе утро!»;

 

Обратим внимание, что одним переменным присвоены числа, а другим — строки.

Задание. Вывести все значения этих переменных в браузер: (1) каждое значение –– в новой строке; (2) –– все значения –– в одной строке.

 

Константы

Иногда не требуется менять в программе один раз заданное значение. Для этого используются константы — их значения не изменяются в процессе выполнения скрипта.

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

define («PI», 3.1415926535);

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

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

 

Зарезервированные (служебные) слова РНР:

and array as break default
die do echo endif endswitch
endwhile global if include print
require eval lnclude_onc e require_once return
case сfunction class const continue
declare else elseif empty enddeclare
endfor endforeach exception exit extends
for foreach function isset list
new old_function or php_user_filter static
switch unset use while xor

 

В языке РНР определено множество встроенных констант, которые можно использовать в сценариях. Эти константы начинаются с двух символов подчеркивания и заканчиваются тоже двумя символами подчеркивания. Например:

__CLASS__ __FILE__ __FUNCTION__ __LINE__ __METHOD__

 

Прерывание выполнения сценария

Наиболее часто для останова выполнения сценария применяется функция exit(). Другой полезной функцией является die(«Сообщение»), которая позволяет также вывести сообщение об ошибке. Это позволяет сообщить пользователю причину, по которой сценарий завершился неудачей.

 

Уничтожение переменной

Иногда требуется принудительно уничтожить переменную. Для этого предназначена функция unset().


<?php

$variable = "Строка";
unset($variable);     // уничтожаем переменную

?>

Если попробовать выполнить оператор echo «$variable» после вызова функции unset, то мы получим сообщение об ошибке –– переменная $variable больше не будет существовать.

Можно одновременно уничтожить несколько переменных:

unset($variable, $name);

Следующий текст при первом чтении можно пропустить

 

Типы данных

В языке РНР тип переменной определяется автоматически при создании переменной на основе ее значения. Тем не менее, следует иметь представление о типах данных, которые могут использоваться. Всего их восемь:

  • Логический тип, содержит значения TRUE или FALSE.
  • Целое число.
  • Вещественное число.
  • Текст произвольной длины.
  • Массив.
  • Объект.
  • Ресурс (например, файл).
  • NULL Значение NULL.

 

Например:

$variable = TRUE;

 

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


<?php

$variable = "0";               // строка "ноль"
$variable = Svariable + 2;  // целое число 2
$variable = Svariable +1.1; // вещественное число 3.1
$variable =2 + "8";              // целое число 10

?>

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

$int_variable = (integer) $variable;

$float_variable = (float) $variable;

$string_jyariable = (string) $variable;

При преобразовании в логический тип boolean, следующие значения преобразуются в значение FALSE.

  • Целое число 0.
  • Вещественное число 0.0.
  • Пустая строка и строка «0».
  • Массив с нулевым количеством элементов.
  • Объект, не имеющий свойств.
  • Специальный тип NULL.

 

При преобразовании к типу целых значений другие типы преобразуются так:

  • Логическое FALSE преобразуется в целое число 0, логическое TRUE преобразуется в целое число 1.
  • Вещественные числа округляются в меньшую сторону. При преобразовании в вещественное число сперва осуществляется преобразование в целочисленное значение.

Возможно также преобразование строковых значений в числовые типы данных, но при этом имеется ряд особенностей.

Любые другие значения, включая все ресурсы, преобразуются в TRUE.

 

 

Итоги

Язык РНР предназначен для создания динамических web-страниц.

  • Код РНР заключается между тегами <?php и ?>.
  • Оператор echo предназначен для отображения текста.
  • Имеется возможность включать в код РНР большие блоки текста
  • В РНР используются три вида комментариев: /* … */, // и #.
  • Имя переменной предваряется знаком доллара $, начинается с буквы или знака подчеркивания, после которого может следовать произвольное количество букв, цифр или знаков подчеркивания.

 






Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *