
МИР_01_PHP.ppt
- Количество слайдов: 43
Мировые информационные ресурсы Лекция 1. Язык PHP
PHP «Personal Home page» или «РНР Hypertext Processor» РНР - работающий на стороне сервера встроенный язык сценариев Web, позволяющий быстро и эффективно строить динамические web-приложения. С позиций грамматики и синтаксиса РНР напоминает язык программирования С. Заимствованные возможности других языков: поддержка регулярных выражений, средства работы с массивами, объектноориентированная методология, поддержка работы с базами данных и т. п.
Одним из главных достоинств РНР является тот факт, что он внедряется прямо в HTML-код. Код HTML и РНР можно чередовать по мере необходимости. $site_title = "Пример скрипта РНР"; $bg_color = "yellow"; $user_name = "Гость"; ? >
Отделение кода РНР от других элементов страницы стандартные теги; короткие теги; теги script; теги в стиле ASP.
Стандартные теги За открывающей конструкцией следуют символы php, однозначно определяющие тип дальнейшего кода. Весь текст, расположенный до закрывающего тега ? >, интерпретируется как код РНР. Пример: php print "Любой текст"; ? > Команда print внутри экранирующих последовательностей РНР ( . . . ? >), представляет собой законченную программу.
Короткие теги обеспечивают наиболее компактную запись для перехода в РНР: print "Любой текст"; ? > По умолчанию короткие теги не используются, их нужно специально активизировать: указать ключ -enable-short-tags при компиляции РНР; либо включить параметр short_open_tag в файл php. ini.
Теги script Некоторые текстовые редакторы ошибочно принимают код РНР за код HTML (то есть визуально отображаемый текст), что затрудняет работу над web -страницей. Проблема решается использованием тегов script:
Теги в стиле ASP (Active Server Page) похожи на короткие теги, но вместо вопросительного знака используется знак процента (%): <%php print "Welcome to the world of PHP!"; %> Преимущество: во внедренный код РНР не обязательно включать команду print, вместо этого можно использовать конструкцию <%=. . . %> Пример использования на странице: <% $var = "123"; # Присвоить значение переменной $var %>
Значение переменной var: <%=$var; %>
Внедрение HTML в код РНР Код HTML интегрируется прямо в команды РНР. Пример: вывод кода HTML средствами РНР
Внедрение HTML в код РНР Пример: вывод текущей даты в заголовке окна
Внедрение HTML в код РНР Пример:
Внедрение HTML в код РНР Пример: php $strarray=explode(": ", "Понедельник: Вторник: Среда: Чет верг: Пятница: Суббота: Воскресенье"); ? >
Комментарии в коде РНР Однострочные комментарии - обычно используются для коротких пояснений или примечаний, относящихся к локальному коду. Служебные символы: 1. двойной символ «косая черта» (//), 2. символа фунта (#) Пример: // файл: test. php // дата: 2 февраля 2008 г. print "Пример комментариев"; ? >
Комментарии в коде РНР Однострочные комментарии // Выбрать цвет роз $rose_color = "red"; # Выбрать цвет фиалок $violet_color = "blue"; print "Цвет розы - $rose_color, цвет фиалки $violet_color"; ? >
Комментарии в коде РНР Многострочные комментарии - используются при оформлении алгоритмов на псевдокоде и в более подробных объяснениях. - начало и конец обозначаются символами /* и */. /* Сценарий: test. php Назначение : пример использования многострочных комментариев Дата: 22 февраля 2008 г. */ print "Пример комментариев"; ? >
Переменные и типы данных В РНР поддерживаются шесть основных типов данных: целые числа; вещественные числа; строки; логические величины; массивы; объекты;
Целые числа Целое число не имеет дробной части и представляется последовательностью из одной или нескольких цифр. Примеры целых чисел: 5 591 52 Восьмеричная и шестнадцатеричная запись Восьмеричные числа начинаются с цифры 0, после которой следует серия цифр от 0 до 7. Пример: 0422 Шестнадцатеричные целые числа имеют префикс 0 х или 0 Х и могут состоять из цифр от 0 до 9 и букв от а (А) до f (F). Примеры: 0 x 3 FF, 0 x 22 abc
Вещественные числа (с плавающей точкой) поддерживаются два вещественных формата: стандартная и научная (экспоненциальная) запись. 1. Стандартная запись, примеры: 12. 45 98. 6 2. Научная запись, примеры: Зе 8 5. 9736 е 24
Строковые значения Строкой (string) называется последовательность символов, которая рассматривается как единое целое, но при этом обеспечивает доступ к отдельным символам. Примеры строк: someword, 49 ers, abc, &%/$# В РНР не поддерживается символьный тип данных. Строковый тип может рассматриваться как единое представление для последовательностей, состоящих из одного или нескольких символов.
Строковое присваивание Имена переменных в строках, заключенных в кавычки (“ ”), заменяются соответствующими значениями, а также распознаются все существующие служебные символы. Строки в апострофах (‘ ‘) интерпретируются буквально, даже если в них присутствуют имена переменных. Распознаются только служебные символы «\» и «» . Пример: $var = "string"; $sentence = "Строка включает переменную $var"; // Вывод: Строка включает переменную string $sentence = ‘Строка включает переменную $var’ // Вывод: Строка включает переменную $var;
Служебные символы в строках Последовательность Смысл n Новая строка r Возврат курсора t Горизонтальная табуляция \ Обратная косая черта $ Знак доллара " Кавычка [0 -7]{1, 3} Восьмеричная запись числа (в виде регулярного выражения) x[0 -9 A-Fa-f]{l, 2} Шестнадцатиричная запись числа (в виде регулярного выражения)
Синтаксис встроенной документации Строка начинается с символов <<<, за которыми следует некоторый идентификатор, затем строка, присваиваемая переменной. Конструкция заканчивается вторым экземпляром того же идентификатора. Выбранный идентификатор не должен присутствовать в присваиваемой строке. Более того, первый символ завершающего идентификатора должен находиться в первом столбце строки, завершающей конструкцию.
Синтаксис встроенной документации Пример: $paragraph = <<
Обращение к отдельным символам строк К отдельным символам строки можно обращаться как к элементам массива с последовательной нумерацией. Пример: $var = "04 efgh"; $letter = $var[4]; # переменной $letter будет присвоено значение g.
Идентификаторы Общий термин идентификатор применяется к переменным, функциям и другим объектам, определяемым пользователем. Идентификаторы РНР должны удовлетворять нескольким условиям: Идентификатор состоит из одного или нескольких символов и начинается с буквы или символа подчеркивания. Идентификатор может содержать только буквы, цифры, символы подчеркивания и другие ASCII-символы с кодами от 127 до 255. В идентификаторах учитывается регистр символов. Следовательно, переменная с именем $recipe отличается от переменных с именами $Recipe, $r. Eci. Pe и $recip. E. Длина идентификаторов не ограничивается. Идентификатор не может совпадать с каким-либо из стандартных ключевых слов РНР.
Идентификаторы Примеры: Допустимые Недопустимые идентификаторы my_function This&that Size !counter _someword 4 ward
Объявление переменных Имена переменных всегда начинаются со знака доллара, $. Имена переменных должны соответствовать тем же условиям, что и идентификаторы. Переменные в РНР, как и в языке Perl, не требуют специального объявления. Вместо этого переменная объявляется при первом ее использовании в программе. Тип переменной косвенно определяется по типу хранящихся в ней данных. Пример: $sentence = "This is a sentence. "; // $sentence интерпретируется как строка $price = 42. 99: // $price интерпретируется как вещественное число $weight = 185; // $weight интерпретируется как целое число
Переключение типов Тип переменных РНР может изменяться без использования механизма явного преобразования. Примеры: 1. Суммирование строки и целого числа - результат зависит от содержимого строки. $variable 1 = 1; $variable 2 = "1"; $variable 3 = $variable 1 + $variable 2; // $variable 3 присваивается 4.
Переключение типов Примеры: 2. Суммирование целого числа с вещественным - целое число преобразуется к вещественному типу, чтобы избежать потери точности: $variable 1 = 3; $variable 2 = 5. 4; $variable 3 = $variable 1 + $variable 2; // $variable 1 интерпретируется как вещественное число. // и $variable 3 присваивается 8. 4.
Переключение типов Примеры: 3. Суммирование целого числа и строки, содержащей целое число, но не являющейся строковым представлением: $variable 1 = 5; $variable 2 = "101 dalmatians"; $variable 3 = $variable 1 + $variable 2; // $variable 3 присваивается 106 $variable 2 = "There are 101 dalmatians"; $variable 3 = $variable 1 + $variable 2; // $variable 3 присваивается 5
Преобразование типов явное приведение переменной к типу, отличному от того, который изначально предназначался для нее Изменение типа может быть как временным, так и постоянным. Чтобы временно привести переменную к другому типу, достаточно воспользоваться оператором преобразования типа — указать нужный тип перед именем переменной в круглых скобках. Операторы преобразования типа переменных Оператор преобразования типа Новый тип (int) или (integer) Целое число (real), (double) или (float) Вещественное число (string) Строка (array) Массив (object) Объект
Преобразование типов Пример: $variable 1= 13; // $variable 1 присваивается целое число 13 $variable 2 = (double) $variable 1; // $variable 2 присваивается 13. 0 Пример: $variable 1 = 4. 0; $variable 2 = 5; $variable 3 = (int) $variable 1 + $variable 2; // $variable 3 = 9 Преобразование переменной в элемент массива: $variable 1 = 1114; $array 1 = (array) $varable 1; print $array 1[0]; // Выводится значение 1114
Присваивание 1. Присваивание по значению самый распространенный способ присваивания, при котором значение просто заносится в область памяти, представленную именем переменной. Примеры: $vehicle = "car"; $amount =10. 23; Присваивание в результате выполнения команды return в функциях: function simple () { return 5; } $return_value = simple();
Присваивание 2. Присваивание по ссылке присваивание переменной ссылки на область памяти, занимаемую другой переменной. перед именем переменной-источника указывается символ & (амперсанд) Пример: $var 1 = "a"; $var 2 = &$var 1; $var 2 = "c"; print "$var 2 "; // Выводится строка “c” print $var 1; // Снова выводится строка “c” // любые изменения $var 2 приводят к автоматической модификации $var 1.
Переменные в переменных переменные, содержимое которых может динамически интерпретироваться как имя другой переменной. Пример: $var 1 = "somevalue"; # строку "somevalue" можно интерпретировать как имя переменной — для этого в команде присваивания перед именем исходной переменной ставится второй знак $: $$var 1 = "& othervalue"; # переменной с именем "somevalue" присваивается строка "& othervalue" print $var 1 $somevalue; print $var 1 $($var 1); # в обоих случаях будет выведена строка "somevalue & othervalue".
Стандартные переменные 1. $GLOBALS[ ] – специальный массив, в котором имена переменных выступают в качестве индексов. Пример: while (list($var, $value) = each($GLOBALS)) : echo "
$var => $value"; Endwhile; Результат: GLOBALS => HTTP_GET_VARS => Array HTTP_COOKIE_VARS => Array HOSTSIZE => 1000 HOSTNAME => server. domain. ru . . .
Стандартные переменные (Продолжение примера) . . . HTTP_USER_AGENT => Mozilla/4. 0 (compatible; MSIE 5. 0: Windows 98; REMOTE_ADDR => 127. 0. 0. 1 REMOTE_PORT => 3207 SCRIPT_FILENAME => /usr/local/environment_vars. php SERVER_ADDR => 127. 0. 0. 1 . . . SERVER_PROTOCOL => HTTP/1. 1 REQUEST_METHOD => GET QUERY_STRING => Вывод конкретной переменной среды: print "Your IP address is: $REMOTE_ADDR"; print "Your browser is: $HTTP_USER_AGENT";
Стандартные переменные 2. Переменные среды $_ENV[ ] 3. Переменные сервера $_SERVER[ ] 4. Переменные, полученные методом GET: $_GET[ ] 5. Переменные, полученные методом POST: $_POST[ ] 6. Cookies, полученные от браузера: $_COOKIE[ ]
Действия над переменными 1. Функция isset() Определяет, существует ли указанная переменная. Синтаксис : isset($var); Возвращает true, если var существует; false в случае, если переменная не была инициализирована или содержит NULL. Фактически функция проверяет, имеет ли переменная значение, идентичное null, то есть: (var===null). If (isset($var)) { print 'Переменная с именем $var существует. '; }
Действия над переменными 2. Функция unset() Удаляет указанную переменную. Синтаксис : unset($var); unset() уничтожает указанную переменную и возвращает true. Пример : unset( $foo ); unset( $bar["quux"] ); Если переменная была удалена функцией unset(), она больше не будет определяться функцией isset(). $a = "test"; echo isset($a); // вывод на экран: true unset($a); echo isset($a); // вывод на экран: false
Действия над переменными 3. Функция empty() Определяет, есть ли у переменной какое либо значение. Синтаксис : empty($var); Возвращает false, если var существует и имеет не пустое или не нулевое значение; true в обратном случае. Фактически функция проверяет, имеет ли переменнная значение, которое может быть приравнено к 0, то есть: (var==0) $var=0; if(empty($var)) { echo "$var - либо 0, либо не имеет значения"; if(!isset($var)) { echo "$var не имеет значения"; }; };
Константы именованная величина, которая не изменяется в процессе выполнения программы; определяются функцией define( ); после того как константа будет определена, изменить (или переопределить) ее в этой программе невозможно; в именах констант не указывается знак доллара. Пример: define("'PI", "3. 141592"); # определение числа «Пи» в сценарии РНР print "The value of pi is". PI. " "; $pi 2 = 2 * PI: print "Pi doubled equals $pi 2. "; Результат: The value of pi is 3. 141592. Pi doubled equals 6. 283184.