Первый урок по PHP: особенности синтаксиса, вывод данных, переменные, работа с ошибками

"Все аспекты самостоятельного создания и продвижения сайтов
от практика с многолетним опытом." — блог Рудь Сергея
info@site-on.net
Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!
09.04.2013

Здравствуйте, дорогие читатели, а в скором времени и PHP разработчики ;) Сегодняшняя статья блога Site on! посвящена основам PHP: особенностям синтаксиса, выводу данных, переменным, а также работе с ошибками. По ходу цикла уроков по PHP я попытаюсь рассказать вам как можно больше всего интересного и полезного, при этом стараясь не растягивать статьи.

PHP блоки

Первое, что вы должны знать, это то, что PHP код всегда должен быть заключён в PHP теги:

<?php 
PHP код
?>

Также можно использовать:

<?
PHP код //так не рекомендуют
?>

Но, во-первых, такая запись не рекомендуется, во-вторых, для её работоспособности в вашем конфигурационном файле php.ini должны быть включены соответствующие настройки.

Особенности синтаксиса PHP

Первое, каждая инструкция (выражение) должна заканчиваться точкой с запятой ; Например:

<?php
error_reporting(E_ALL);  //говорим PHP, чтобы он показывал нам абсолютно все связанные с ним ошибки
header('Content-Type: text/html; charset=utf-8'); // кодировка
echo 'Наш первый ПХП скрипт работает!<br />'; //выводим текст на страницу
?>

В строке №3 указываем кодировку страницы.

Второе, всё то же самое можно записать и в одну строку, между инструкциями в одной строке можно ставить сколько угодно пробелов, в том числе и вовсе без пробелов:

<?php
error_reporting(E_ALL);header('Content-Type: text/html; charset=utf-8'); echo 'Наш первый ПХП скрипт работает!<br />';
?>

Третье, PHP инструкция может быть разорвана на несколько строк:

<?php
echo 'На
ш 
первый ПХ
П скрипт 
работает!
<br />
';
?>

Результат:

Особенности синтаксиса PHP

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

Четвёртое, в PHP как и во всех языках программирования есть комментарии. В PHP их 2 вида: однострочные и многострочные.

// - однострочный комментарий
# - это тоже однострочный комментарий
/*
Ваш
комментарий
*/ - многострочный комментарий 

Бытует мнение, что у правильного программиста комментарии должны составлять 30% от всего кода. Однако избыточность комментариев тоже совсем не к чему, не стоит оставлять комментарии по типу «здесь я посмотрел в окно и почесал нос».

Вывод данных в PHP

Вывод данных в языке программирования PHP осуществляется по средствам двух основных языковых конструкций:

<?php
echo 'Наш первый ПХП скрипт работает!<br />';
print 'Это точно такой же текст';
?>

Разница в том, что по выполнению print возвращает единицу, а echo ничего не возвращает. Если не знаете, как именно вам это использовать, то пользуйтесь echo и не заморачивайтесь, тем более при использовании echo можно делать так:

<?php
echo '<h1 align="center">', 'Наш первый ПХП скрипт работает!', '</h1>';

//тоже, но с помощью принта: print '<h1 align="center">'; print 'Наш первый ПХП скрипт работает!'; print '</h1>'; ?>

Так что помимо того, что эхо само по себе короче принта на 1 символ, оно ещё позволяет и более коротко записывать выводимые конструкции. Каждая запятая в примере выше имитирует новый вызов эхо. Другими словами мы трижды вызвали эхо, вместо того чтобы каждый раз писать: echo echo echo, как делали это в случае с принтом.

Между прочим, тоже самое можно было записать и так:

<h1 align="center"><?php echo 'Наш первый ПХП скрипт работает!' ?></h1>

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

Переменные в PHP

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

Переменные в PHP начинаются очень символично - со знака доллара $, после которого БЕЗ пробела должна идти либо латинская буква, либо символ подчёркивания (цифра не может быть первым символом в названии переменной). Далее в имени переменной могут присутствовать как латинские буквы, так и цифры, и всё тот же символ подчёркивания. Например:

<?php
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');

$name='Сергей'; $_blog1='Site on!';
echo $name, ' - автор блога ', $_blog1; ?>

Результат:

Переменные в PHP

Имена переменных чувствительны к регистру! То есть $Name, $naMe, $name – три совершенно разных переменных. Если мы в уже существующую переменную захотим положить что-то новое, то старое значение этой переменной автоматически сотрется:

<?php
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');

$name='Сергей'; $_blog1='Site on!'; $name='Андрей'; //записываем новое значение в переменную name
echo $name, ' - автор блога ', $_blog1; ?>

Результат:

Имена переменных

Естественно, мы можем передавать значение одной переменной в другую:

<?php
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');

$name = 'Сергей'; $_blog1 = 'Site on!'; $name = $_blog1;
echo $name, ' - автор блога ', $_blog1; ?>

Результат:

значение одной переменной

При этом значение переменной $_blog1 осталось в ней.

В отличие от строк, при занесении в переменную числа – кавычки не нужны:

$name = 45;

Как и при занесении переменной в переменную:

$name = $_blog1;

После окончания кода на странице все переменные PHP автоматически удаляются. Но бывают редкие случаи, когда нам нужно принудительно удалить переменную до того как закончится код. Для этого служит функция unset:

<?php
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');

$name='Сергей'; $_blog1='Site on!'; $name=$_blog1; unset($name); //удаляем переменную name
echo $name, ' - автор блога ', $_blog1; ?>

Результат:

Работа с ошибками

Работа с ошибками в PHP

Вот мы плавно и перешли к теме ошибок в PHP. Как видите, мы обращаемся к переменной $name, которую перед этим безжалостно удалили – это и привело к замечанию (Notice). Notice нужно считать самой настоящей ошибкой, хотя в большинстве случаев он абсолютно безвредный.

PHP даже пытается нам подсказать, где и какую именно ошибку мы допустили. В нашем случае он пишет:

Undefined variable: name

Что переводится как «неопределённая переменная: name» и дальше показывает нам файл и строчку, на которой все это происшествие и случилось:

in Z:\home\localhost\www\blog2\second-page.php on line 10

То есть в файле second-page.php на строке 10. В данном случае PHP угадал, однако часто бывает, что ошибка находится на одну или несколько строчек выше, например, когда мы забываем поставить точку с запятой в конце очередной инструкции:

<?php
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');

$name='Сергей'; $_blog1='Site on!' //упс, забыл :(
echo $name, ' - автор блога ', $_blog1; ?>

Результат:

ошибки в PHP

В данном случае у нас появилась так называемая Parse error, которая запрещает выполнение всех скриптов на странице, а потому, кроме ошибки нам ничего не показало и не покажет до тех пор, пока мы её не исправим. Учитывая последствия - это серьёзная ошибка, которую, в отличие от предыдущей, обязательно нужно исправить! Но пугаться здесь нечего.

PHP пишет нам, что ошибка находится на восьмой строке (on line 8), однако на самом деле я забыл поставить точку с запятой на 2 строки выше:

ошибки в PHP

Обращаю ваше внимание что, когда вы видите «syntax error, unexpected», то в 99% случаев это значит, что вы забыли поставить точку с запятой.

Следующее, что вам нужно для себя обязательно запомнить: исправлять (фиксить) ошибки нужно сверху вниз! Так как одна ошибка зачастую может повлечь за собой десяток других, поэтому исправив самую первую – есть довольно большой шанс, что автоматически исчезнут и все остальные.

Есть ещё два вида ошибок, о которых обязательно должен знать каждый разработчик PHP – это FATAL error и Warning, которые также обязательно должны быть исправлены! Однако обе эти ошибки НЕ прекращают работу других PHP скриптов на странице, в отличие от Parse error.

Думаю, для одной статьи достаточно, далее мы поговорим о типах переменных в PHP, операторах и многих других интересных вещах. Спасибо за внимание и до встречи на страницах блога Site on!

С уважением, .
Пожалуйста, оцените эту статью
Средняя оценка: 4.87 из 5 (проголосовало: 23)
Статья оказалась вам полезной? Подпишитесь, чтобы не пропустить новые!

Ваш email:
Вы можете помочь развитию проекта, сделав всего 1 клик:
Спасибо!
Пожалуйста, прокомментируйте, как Вам моя статья?
Имя:
Комментарий:

Если Вы хотите вставить код, пожалуйста, заключайте его в [code][/code]

Подписаться на новые комментарии:

E-mail:


Защита от спама: пожалуйста, напишите слово "сел" справа налево
Ответ:
Подписаться на новые комментарии без комментирования - Email:
Защита от спама: пожалуйста, напишите слово "сел" справа налево
Ответ:

11.09.2013 08:46:05 Евгений:
Так жалко что я нашел ваш сайт так поздно.
Пришлось перелопатить кучу информации ища абсолютно простые вещи.
У вас все сделано как надо от простого к сложному.
Надеюсь ваш сайт будут находить другие раньше, чем я.
Спасибо
11.09.2013 09:04:26 Сергей отвечает:
И Вам спасибо за комментарий.

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


08.12.2014 00:20:36 Арт:
Снег мешает читать. Приходится постоянно нажимать на адресную строку браузера, тогда он на паузе.
08.12.2014 21:38:56 Сергей отвечает:
Принял к сведению, убрал.

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


08.12.2014 11:14:54 Александр:
Я не АС в программировании, перелопатил много справочников и это единственное место, где показано, как можно вывести переменную командой echo в "красивом" т.е. отформатированном виде (размер шрифта, центровка). Огромное спасибо

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

Использую для работы
Мои расширения
Свежие статьи
Рекомендую
Горячо обсуждаемые
Подписка
  • Следовать в twitter:
  • Подписаться по RSS:
  • Подписаться по E-mail:
  • Следить ВКонтакте:
  • Следить на Facebook:
Пользовательское соглашение об условиях использования сайта и Политика конфиденциальности
Перепечатывание или копирование материалов сайта (текста, изображений и другого содержимого) для их публичного или коммерческого использования в сети Интернет, либо в печатных изданиях строго запрещены. При нарушении данного правила, с нашей стороны будут предприняты соответствующие меры, вплоть до судебной жалобы.
© site-on.net
Шрифт: +стандартно-