Как пишутся скрипты на 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-браузер, а затем ввести в адресной строке полный путь к этому скрипту. В случае локальной установки адрес будет таким:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оператор 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 для отображения большого объема текста его можно записать так: вначале ставим символы <<<, после которых следует произвольный идентификатор. Далее располагается текст, в конце которого начиная с первого символа новой строки размещается тот же самый идентификатор. 

Вывод без использования 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);
				
			

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

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

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

andarrayasbreakdefault
diedoechoendifendswitch
endwhileglobalifincludeprint
requireevallnclude_onc erequire_oncereturn
caseсfunctionclassconstcontinue
declareelseelseifemptyenddeclare
endforendforeachexceptionexitextends
forforeachfunctionissetlist
newold_functionorphp_user_filterstatic
switchunsetusewhilexor

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

				
					__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 предназначен для отображения текста.
  • Имеется возможность включать в код РНР большие блоки текста
  • В РНР используются три вида комментариев: /* … */, // и #.
  • Имя переменной предваряется знаком доллара $, начинается с буквы или знака подчеркивания, после которого может следовать произвольное количество букв, цифр или знаков подчеркивания.
Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Web-Дизайн
help2site
Подборка полезных плагинов для WordPress

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

Web-Дизайн
help2site
Установка веб-сервера Apache

В прошлый раз мы разобрались с тем, что такое web-сервер. Самым популярным на сегодняшний момент является веб-сервер Apache. Сегодня я расскажу вам как быстро и правильно установить apache.

Интернет
help2site
Хостинг картинок. Что такое хостинг картинок?

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