0 Курс PHP (синтаксис).ppt
- Количество слайдов: 34
КУРС PHP 1 ОСНОВИ СИНТАКСИСУ
СКРИПТ - МОВА PHP – це скрипт -мова (scripting language), що вбудовується в HTML, що інтерпретується й виконується на сервері. файл ex 01. php:
Після обробки сторінки на сервері браузерові клієнта передається наступний HTML-код (тобто результат виконання PHPкоду):
ОСНОВНИЙ СИНТАКСИС PHP php ? >, і деколи скорочений варіант ? >. 4 php echo "Hello, world!"; // крапка з комою в кінці // команди обовязкова ? > php echo "Hello, world!" ? > "
КОММЕНТАРІ Символи // и # позначають початок однорядкових коментарів, /* і */ – відповідно початок і кінець багаторядкових коментарів. 5 php echo "Меня звати Вася"; // Це однорядковий коментар // в стилі С++ echo «Прізвище моє Петров"; /* Це багаторядковий коментар. Тут можна написати декілька рядків. При виконанні програми все, що знаходиться тут (закоментовано), буде ігноруватися. */ echo "Я вивчаю PHP в INTUIT. ru"; # Це коментар в стилі # оболонки Unix ? >
МОЖЛИВОСТІ PHP На PHP можна: обробляти дані з форм , генерувати динамічні сторінки , одержувати й посилати куки (cookies), в PHP включена підтримка багатьох баз даних (databases), що робить написання Web-програм із використанням БД дуже простим. От неповний перелік підтримуваних БД : Dabase, Inter. Base, Solid; d. Base, MSQL, Sybase; Empress, My. SQL, Velocis; File. Pro, Oracle, Unix rdbm; Informix, Postgre. SQL. 6 PHP розуміє багато протоколів, серед яких POP 3 і HTTP.
ЗМІННІ PHP Імена змінних починаються із символу $. Так , наприклад , щоб привласнити значення 5 змінній a, потім відобразити її , можна написати наступний фрагмент : $a = 5 ? > echo $a ? > це можна записати також у виді : ; $a = 5; echo $a ? > чи навіть : $a = 5; echo $a; ? > 7 Імена змінних чутливі до регістру, тому $my_var и $My_var – різні.
ТИПИ ЗМІННИХ Підтримуються три типи змінних. Довгі цілі (long int), подвійної точності з плаваючою комою (double) і символьні рядки (strings). Тип змінних виявляється автоматично. Наприклад : $a = 5? > – змушує $a стати змінною типу INTEGER; $a = 5. 0? > – змушує $a стати змінною типу DOUBLE; $a = "5"? > – змушує $a стати змінною типу STRING. Усі три типи змінних можуть також розглядатися як масиви , якщо до їхніх імен додається [значення]. На відміну від C, масиви в PHP фактично являють собою асоціативні масиви. Наступний запис , вірний : $a[0] = 5; $a["hello"] = 6; echo $a[0]; 8 echo $a["hello"]; ? >
PHP також підтримує не -індексовані масиви. Не -індексований масив генерує власний індекс , у міру додавання елементів до нього. Наприклад , : $a[] = "Hello"; $a[] = "There"; першому елементу , що вставляється в не -індексований масив , завжди привласнюється індекс 0, другий 1 індекс , і т. д. Отже вищезгадані елементи можуть бути роздруковані за допомогою : echo $a[0]; 9 echo $a[1]; .
ФУНКЦІЯ COUNT(), ДЛЯ ТОГО ЩОБ ВИЗНАЧИТИ КІЛЬКІСТЬ ЕЛЕМЕНТІВ ДЛЯ БУДЬ -ЯКОГО МАСИВУ. $a[] = "Hello"; $a[] = "There"; echo $a[0]; echo " "; echo $a[1]; echo " кількість елементів масиву а : "; 10 echo count($a)? >
ТИП ЗМІННОЇ ВИЗНАЧАЄ , ЯКІ ОСНОВНІ ОПЕРАЦІЇ МОЖУТЬ БУТИ ВИКОНАНІ Наприклад , $a = $b + $c може поводитися подвійно. Якщо $b це число , то числове значення $c додається до $b, і сума зберігається в $a. У цьому випадку тип $c не важливий. Операція керується типом першої змінної. 11 Якщо $b рядок , то значення рядка $c конкатенується з $b, і результуючий рядок міститься в $a.
ПРИСВОЄННЯ ПО ЗНАЧЕННЮ php $first = ' Text '; // Присвоюємо $first // значення // ' Text ' $second = $first; // Присвоюємо $second // значення // змінної $first = ' New text '; // Змінюємо // значення // $first // на ' New text ' echo “ змінна з імям first ". "рівна $first "; // виводимо значення $first echo «Змінна з іменем second ". "рівна $second"; // виводимо значення $second ? > Результат роботи цього скрипта буде слідуючим: 12 змінна з імям first рівна New text Змінна з іменем second рівна Text
ПРИСВОЄННЯ ПО ПОСИЛАННЮ php $first = ' Text '; $second = &$first; /* Робимо посилання на $first через $second. Тепер значення цих змінних будуть завжди співпадати */ // Змінимо значення $first // на ' New text ' $first = ' New text '; echo «Змінна з іменем first ". "рівна $first "; // виведемо значення обох змінних echo «Змінна з іменем second ". "рівна $second"; ? > Цей скрипт виведе наступне: Змінна з іменем first рівна New text. Змінна з іменем second рівна New text. 13 Тобто разом з змінною $first змінилася і змінна $second.
АСОЦІАТИВНІ МАСИВИ 14 Асоціативний масив - це масив , у якому індекс не обов 'язково повинний бути послідовним рядом числових значень. Індексом масиву може бути будь - яке число ряду.
ПОСИЛАТИСЯ НА ІМЕНА ЗМІННИХ Тобто ім 'я змінної може встановлюватися й використовуватися динамічно. Приклад, $a = "hello" при використанні посилання на змінну береться значення змінної й обробляється як ім 'я змінної. Тобто hello може використовуватися як ім 'я змінної , використовуючи два знаки $. Тобто $$a = "world". $a = "hello"; $$a = "world"; echo "$a "; echo $$a; echo " Другий оператор "; 15 echo "$a $hello"; ? >
МАТЕМАТИЧНІ ВИРАЗИ $a = 2 + 1 ? > Додавання $a = 2 - 1 ? > Віднімання $a = 2 * 1 ? > Множення $a = 2/1 ? > Ділення $a = 2 % 1 ? > Ділення по модулю • Враховується порядок операцій і дужки • підтримуються C-подібні оператори збільшення += і зменшення -=. Тобто $a += $b? > це еквівалентно : 16 $a = $a + $b? >
РОБОТА З ТИПАМИ ДАНИХ PHP розуміє 3 типи змінних (Integer, Double і String) Тобто : $a = 1; Тип буде integer $b = 1. 5; Тип буде double $c = "1"; Тип буде string. Тепер , що відбудеться , якщо Ви зробите що -небудь типу : $d = $a + $c; синтаксичний аналізатор розглядає першу частину арифметичного виразу і використовує його для результату , а також характер дії , яка повинна бути виконана. Так як $a - integer, $d буде теж integer, і виконання цілочисельного додавання , дасть результат : $d = 2 Тип integer. 17 Отже : $d = $c + $a Результат : $d = "11" Тип - string
РОБОТА З ТИПАМИ ДАНИХ Фактично всі змінні автоматично перетворюються в усі 3 типи , і тільки внутрішній прапорець відзначає , якого типу змінна , фактично. Наприклад , якщо вказати : $a = 1. Усередині в таблиці ідентифікаторів зберігаються 3 версії. Integer: 1 <--- flag Double: 1. 0 String: "1" Функція Set. Type() може переміщати прапорець , що вказує тип змінної. Set. Type($a, "double"); Функція Get. Type() повертає тип. Get. Type($a) поверне , у цьому випадку , "double". Також існують функції для того , щоб повернути 3 різних типи без переміщення прапорця типу. Int. Val($a) поверне 1 Str. Val($a) поверне "1" 18 Double. Val($a) поверне 1. 0
КОНСТАНТИ Для збереження постійних величин, тобто таких величин, значення яких не змінюється в ході виконання скрипта (математичні константи, паролі, шлях до файлів). Константі неможна присвоїти значення більше одного разу і її значення неможна анулювати після об’яви. Визначають синтаксис: функцією define(). Її define( «І’мя_константи", "Значення_константи", [Нечутливість_до_регістра]) 19 По замовчуванню імена констант чутливі до регістра (в іншому випадку Нечутливість_до_регістра значення True)
КОНСТАНТИ В PHP Константа має ім’я без символа $. Крім того, для отримання значення константи можна використати функцію constant() з іменем константи в якості параметра. 20 php define("PASSWORD", "qwerty"); define("PI", "3. 14", True); // виведемо значення константи PASSWORD, // тобто qwerty echo (PASSWORD); // також виведе qwerty echo constant("PASSWORD"); echo (password); /* виведе password і попередження, оскільки ми вивели регістрозалежну константу PASSWORD */ echo pi; // виведе 3. 14, оскільки константа PI // регістронезалежна по визначенню ? >
РЯД КОНСТАНТ, ЯКІ ВИЗНАЧАЮТЬСЯ САМИМ ІНТЕРПРЕТАТОРОМ. Наприклад, __FILE__ зберігає імя файла програми (і шлях до нього), яка виконується в даний момент, __FUNCTION__ містить імя функції, __CLASS__ – імя класа, 21 PHP_VERSION – версія інтерпретатора PHP.
ОПЕРАТОРИ Таблица 2. 1. Арифметические операторы Обозначение Название Пример + Сложение $a + $b Вычитание $a - $b * Умножение $a * $b / Деление $a / $b % Остаток от деления $a % $b 22 Таблица 2. 2. Строковые операторы Обозначение Название Пример. Конкатенация (сложение строк) $c = $a. $b (это строка, состоящая из $a и $b)
23 ОПЕРАТОРИ
24 ОПЕРАТОРИ
ТИПЫ ДАННЫХ 25 PHP поддерживает восемь простых типов данных. Четыре скалярных типа: boolean (логический); integer (целый); float (с плавающей точкой); string (строковый). Два смешанных типа: array (массив); object (объект). И два специальных типа: resource (ресурс); NULL.
ТИП BOOLEAN (БУЛЕВ ИЛИ ЛОГИЧЕСКИЙ ТИП) переменная этого типа может иметь только два значения – истина TRUE или ложь FALSE. Оба регистронезависимы. 26 php $test = True; ? >
. ИСПОЛЬЗОВАНИЕ ЛОГИЧЕСКОГО ТИПА 27 php // Оператор '==' проверяет равенство // и возвращает // булево значение if ($know == False) { // если $know // имеет значение // false echo "Изучай PHP!"; } if (!$know) { // то же самое, что // и выше, т. е. проверка // имеет ли $know значение // false echo "Изучай PHP!"; } /* оператор == проверяет, совпадает ли значение переменной $know со строкой "Изучай PHP". Если совпадает, то возвращает true, иначе – false. Если возвращено true, то выполняется то, что внутри фигурных скобок */ if ($know == "Изучай PHP") { echo "Начал изучать"; } ? >
ТИП INTEGER (ЦЕЛЫЕ) 28 Этот тип задает число из множества целых чисел Z = {. . . , -2, -1, 0, 1, 2, . . . }. Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию с предшествующим знаком «-» или «+» . php # десятичное число $a = 1234; # отрицательное число $a = -123; # восьмеричное число (эквивалентно # 83 в десятичной системе) $a = 0123; # шестнадцатеричное число (эквивалентно # 26 в десятичной системе) $a = 0 x 1 A; ? >
В PHP не существует оператора деления целых. Результатом 1/2 будет число с плавающей точкой 0. 5. 29 Для преобразования переменной к конкретному типу нужно перед переменной указать в скобках нужный тип. Например, для преобразования переменной $a=0. 5 к целому типу необходимо написать (integer)(0. 5) или (integer) $a или использовать сокращенную запись (int)(0. 5).
ТИП FLOAT (ЧИСЛА С ПЛАВАЮЩЕЙ ТОЧКОЙ) они же числа двойной точности или действительные числа 30 php $a = 1. 234; $b = 1. 2 e 3; $c = 7 E-10; ? >
ТИП STRING (СТРОКИ) 31 Строка – это набор символов. В PHP символ – это то же самое, что байт, это значит, что существует ровно 256 различных символов. Строка в PHP может быть определена тремя различными способами: с помощью одинарных кавычек; с помощью двойных кавычек; heredoc-синтаксисом.
ОДИНАРНЫЕ КАВЫЧКИ 32 php echo 'Также вы можете вставлять в строки символ новой строки таким образом, поскольку это нормально'; // Выведет: Чтобы вывести ' надо // перед ней поставить echo 'Чтобы вывести ' надо перед '. 'ней поставить \'; // Выведет: Вы хотите удалить C: *. *? echo 'Вы хотите удалить C: \*. *? '; // Выведет: Это не вставит: n новую строку echo 'Это не вставит: n новую строку'; // Выведет: Переменные $expand также // $either не подставляются echo 'Переменные $expand также $either'. 'не подставляются'; ? >
ДВОЙНЫЕ КАВЫЧКИ 33 Таблица 2. 7. Управляющие последовательности Последовательность Значение n Новая строка (LF или 0 x 0 A (10) в ASCII) r Возврат каретки (CR или 0 x 0 D (13) в ASCII) t Горизонтальная табуляция (HT или 0 x 09 (9) в ASCII) \ Обратная косая черта $ Знак доллара " Двойная кавычка
ИСПОЛЬЗОВАНИЕ HEREDOC-СИНТАКСИСА 34 php $str = <<