Главная > PHP > Синтаксис PHP

Синтаксис PHP

Общие понятия

Язык PHP специально предназначен для веб-программирования. PHP сочетает достоинства языков C и Perl и при этом весьма прост в изучении и обладает значительными преимуществами перед традиционными языками программирования.

Синтаксис PHP очень напоминает синтаксис языка C и во многом заимствован из таких языков как Java и Perl.

Программист С очень быстро освоит язык PHP и сможет использовать его с максимальной эффективностью.
В принципе, в PHP есть практически все операторы и функции, имеющиеся в стандартном GNU С (или их аналоги), например есть циклы (while, for), операторы выбора (if, switch), функции работы с файловой системой и процессами (fopen, *dir, stat, unlink, popen, exec), функции ввода-вывода (fgets,fputs,printf) и множество других…

Цель данного раздела – краткое ознакомление с основами синтаксиса языка PHP. Более подробную информацию по конкретным составляющим синтаксиса PHP вы найдете в соответствующих разделах.

PHP и HTML

Cинтаксис любого языка программирования гораздо легче “почувствовать” на примерах, нежели используя какие-то диаграммы и схемы. Поэтому приведем пример простейшего скрипта на PHP:

<html>
<head>
<title>Пример</title>
</head>
<body>

<?
echo "Привет, я - скрипт PHP!";
?>

</body>
</html>

Вы уже наверняка заметили, что это классический скрипт, с которого начинают изучение языка программирования.

Обратите внимание, что HTML-код корректно обрабатывается интерпретатором PHP.

Начало сценария вас может озадачить: разве это сценарий? Откуда HTML-тэги <html> и <body>? Вот тут-то и кроется главная особенность (кстати, чрезвычайно удобная) языка PHP: PHP-скрипт может вообще не отличаться от обычного HTML-документа.

Идем дальше. Вы, наверное, догадались, что сам код сценария начинается после открывающего тэга <? и заканчивается закрывающим ?>. Итак, между этими двумя тэгами текст интерпретируется как программа, и в HTML-документ не попадает. Если же программе нужно что-то вывести, она должна воспользоваться оператором echo.

Итак, PHP устроен так, что любой текст, который расположен вне программных блоков, ограниченных <? и ?>, выводится в браузер непосредственно. В этом и заключается главная особенность PHP, в отличие от Perl и C, где вывод осуществляется только с помощью стандартных операторов.

Разделение инструкций

Инструкции разделяются также как и в C или Perl – каждое выражение заканчивается точкой с запятой.

Закрывающий тег (?>) также подразумевает конец инструкции, поэтому два следующих фрагмента кода эквиваленты:

<?php
echo "Это тест";
?>

<?php echo "Это тест" ?>

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

Написание практически любого скрипта не обходится без комментариев.

PHP поддерживает комметарии в стиле ‘C’, ‘C++’ и оболочки Unix. Например:

<?php
echo "Это тест"; // Это однострочный комментарий в стиле c++
/* Это многострочный комментарий
еще одна строка комментария */
echo "Это еще один тест";
echo
"Последний тест"; # Это комментарий в стиле оболочки Unix
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними.

<h1>Это <?php # echo "простой";?> пример.</h1>
<p>Заголовок вверху выведет 'Это пример'.

Будьте внимательны, следите за отсутствием вложенных ‘C’-комментариев, они могут появиться во время комментирования больших блоков:

<?php
/*
echo "Это тест"; /* Этот комментарий вызовет проблему */
*/
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после // ?> БУДЕТ напечатан: ?> выводит из режима PHP и возвращает в режим HTML, но // не позволяет этого сделать.

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

Имена переменных обозначаются знаком $. То же самое “Привет, я – скрипт PHP! ” можно получить следующим образом:

<?php
$message = "Привет, я - скрипт PHP!";
echo $message;
?>

Типы данных в PHP

PHP поддерживает восемь простых типов данных:

Четыре скалярных типа:

- boolean (двоичные данные)
- integer (целые числа)
- float (числа с плавающей точкой или ‘double’)
- string (строки)

Два смешанных типа:

- array (массивы)
- object (объекты)

И два специальных типа:

resource (ресурсы)
NULL (”пустые”)

Существуют также несколько псевдотипов:

- mixed (смешанные)
- number (числа)
- callback (обратного вызова)

Выражения в PHP

Основными формами выражений являются константы и переменные. Например, если вы записываете “$a = 100″, вы присваиваете ‘100′ переменной $a:

$a = 100;

В приведенном примере $a – это переменная, = – это оператор присваивания, а 100 – это и есть выражения. Его значение 100.

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

$x = 7;
$y = $x;

В первой строке рассмотренного примера выражением является константа 7, а во второй строке – переменная $x, т.к. ранее ей было присвоено значение 7. $y = $x также является выражением.

Операторы PHP

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

Примеры операторов PHP:

Операторы присвоения:

<?php

$a = ($b = 4) + 5; // результат: $a установлена значением 9, переменной $b присвоено 4.

?>

Комбинированные операторы:

<?php

$a = 3;
$a += 5; // устанавливает $a значением 8, аналогично записи: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // устанавливает $b строкой "Hello There!",  как и $b = $b . "There!";

?>

Строковые операторы:

<?php
$a
= "Hello ";
$b = $a . "World!"; // $b содержит строку "Hello World!"

$a = "Hello ";
$a .= "World!"; // $a содержит строку "Hello World!"
?>

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

Управляющие конструкции языка PHP

Основными конструкциями языка PHP являются:

  1. Условные операторы (if, else);
  2. Циклы (while, do-while, for, foreach, break, continue);
  3. Конструкции выбора (switch);
  4. Конструкции объявления (declare);
  5. Конструкции возврата значений (return);
  6. Конструкции включений (require, include).

Примеры конструкций языка PHP:

<?php
if ($a > $b) echo "значение a больше, чем b";
?>

Приведенный пример наглядно показывает использование конструкции if совместно с оператором сравнения ($a > $b).

В следующем примере если переменная $a не равна нулю, будет выведена строка “значение a истинно (true), то есть показано взаимодействие условного оператора (конструкции) if с логическим оператором:

<?php
if ($a) echo "значение a истинно (true) ";
?>

А вот пример цикла while:

<?php
$x=0;
while ($x++<10) echo $x;
// Выводит 12345678910
?>

Информацию по всем управляющим конструкциям PHP вы можете получить здесь

Пользовательские функции в PHP

В любом языке программирования существуют подпрограммы. В языке C они называются функциями, в ассемблере – подпрограммами, а в Pascal существуют два вида подпрограмм: процедуры и функции.

В PHP такими подпрограммами являются пользовательские функции.

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

Приведем пример пользовательской функции на PHP:

<?php

function funct() {
$a = 100;
echo "<h4>$a</h4>";
}
funct();

?>

Сценарий выводит 100:

100

Пользовательским функциям в PHP можно передавать аргументы и получать возвращаемые функциями значения.

Встроенные (стандартные) функции PHP

PHP содержит огромное колличество встроенных функций, способных выполнять задачи различного уровня сложности.

ООП и PHP

PHP имеет достаточно хорошую поддержку объектно-ориентированного программирования (ООП).

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

Вот пример PHP класса и его использования:

<?php
// Создаем новый класс Coor:
class Coor {
// данные (свойства):
var $name;

// методы:
function Getname() {
echo "<h3>John</h3>";
}

}

// Создаем объект класса Coor:
$object = new Coor;
// Получаем доступ к членам класса:
$object->name = "Alex";
echo $object->name;
// Выводит 'Alex'
// А теперь получим доступ к методу класса (фактически, к функции внутри класса):
$object->Getname();
// Выводит 'John' крупными буквами
?>

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

No TweetBacks yet. (Be the first to Tweet this post)
Categories: PHP Tags:
  1. 27 Декабрь 2009 в 12:13 | #1

    “good post”

  2. 28 Декабрь 2009 в 06:45 | #2

    их больше было О_о

  3. 28 Декабрь 2009 в 11:12 | #3

    Спасибо, за хороший материал

  4. 29 Декабрь 2009 в 18:52 | #4

    “Интересная заметка”

  5. 29 Декабрь 2009 в 21:49 | #5

    Огромное человеческое спасбо!

  6. 30 Декабрь 2009 в 04:07 | #6

    кто бы еще пояснил блондинке понятнее))

  7. 30 Декабрь 2009 в 06:23 | #7

    “этот вне конкуренции”

  8. 30 Декабрь 2009 в 07:19 | #8

    чувствуется творческий подход к теме, респект)

  9. 30 Декабрь 2009 в 13:16 | #9

    “Спасибо за пост, а это тема”

  10. 30 Декабрь 2009 в 14:15 | #10

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

  11. 30 Декабрь 2009 в 17:27 | #11

    Мне кажется идея в этой статье раскрыта не до конца. Автор, может что-то добавишь к этому ?

  12. 30 Декабрь 2009 в 19:15 | #12

    Ваш сайт в опере не очень то корректо показывается, а так все отлично! спасибки вам за умные мысли!

  13. 31 Декабрь 2009 в 06:25 | #13

    фантастика!…

  14. 31 Декабрь 2009 в 07:10 | #14

    “Работай с умом, а не до ночи”

  15. 31 Декабрь 2009 в 10:49 | #15

    “Работай с умом, а не до ночи”

  16. 31 Декабрь 2009 в 13:50 | #16

    “Полезного много нашла для себя”

  17. 31 Декабрь 2009 в 20:32 | #17

    Сайт супер, буду рекомендовать друзьям!

  18. 1 Январь 2010 в 02:18 | #18

    видели видели)

  19. 2 Январь 2010 в 05:04 | #19

    Спасибо!, в цитатник!

  20. 2 Январь 2010 в 11:21 | #20

    Супер!!!

  21. Sv9itoi
    4 Январь 2010 в 01:06 | #21

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

  22. 4 Январь 2010 в 13:46 | #22

    Спасибо! Буду теперь заходить на этот блог каждый день! :)

  23. 4 Январь 2010 в 14:08 | #23

    Красиво написано, мне понравилось.

  24. 4 Январь 2010 в 23:23 | #24

    Следите за пульсом блогосферы на Яндекс-Блоги? Оказывается скоро Татьянин день.

  25. 5 Январь 2010 в 06:13 | #25

    Ой, благодарю.

  26. 5 Январь 2010 в 10:34 | #26

    Вот решил вам немного помочь и послал этот пост в социальные закладки. Очень надеюсь ваш рейтинг возрастет.

  27. 5 Январь 2010 в 12:41 | #27

    класс)мне понра)особенно!

  28. 5 Январь 2010 в 13:59 | #28

    большое спасибо!Взяла себе тоже-пригодится.

  29. 5 Январь 2010 в 18:48 | #29

    “Классный пост”

  30. 5 Январь 2010 в 19:16 | #30

    “Очень познавательно”

  31. 5 Январь 2010 в 23:42 | #31

    Автор выйди к напроду, вопросы есть!

  32. 6 Январь 2010 в 06:29 | #32

    забавнo

  33. 6 Январь 2010 в 18:20 | #33

    Превосходно!!!

  34. 7 Январь 2010 в 00:30 | #34

    круто..взяла почти все))

  35. Sv9itoi
    7 Январь 2010 в 04:28 | #35

    В данный момент я немного занят, тружусь над созданием сайта. Пишите постараюсь ответить.

  1. Пока что нет уведомлений.
Rambler's Top100