Скачать презентацию Мови програмування Лекція 3 Загальні поняття та Скачать презентацию Мови програмування Лекція 3 Загальні поняття та

Lecture3_MP.ppt

  • Количество слайдов: 45

Мови програмування Лекція 3 Мови програмування Лекція 3

Загальні поняття та опис РНР Мова РНР спеціально призначена для роботи в Інтернеті. Її Загальні поняття та опис РНР Мова РНР спеціально призначена для роботи в Інтернеті. Її синтаксис нагадує мову С. У офіційній документації мова РНР подається як server-side HTML-embedded scripting language, тобто як скриптова мова з обробкою на сервері, що вбудовується в HTML. Відповідно: Обробка РНР-коду здійснюється на боці сервера ще до того, як веб-сторінка буде передана браузеру. РНР-код може бути безпосередньо вбудованим в HTML-код сторінки.

Історична довідка Початок 1995 р. – перша версія продукту (Personal Home Page Tools – Історична довідка Початок 1995 р. – перша версія продукту (Personal Home Page Tools – засоби для персональної домашньої сторінки). Містила аналізатор коду для декількох спеціальних команд, набір утиліт для створення гостьової книги, лічильника та ін. Середина 1995 р. – поява PHP/FI (Personal Home Page / Forms Interpreter – персональна домашня сторінка / інтерпретатор форм). Містила можливість автоматично обробляти html-форми та вбудовуватися в html-коди. 1997 р. – PHP/FI 2. 0

Історична довідка 1998 р. – поява PHP 3. 0. З’явилася можливість розширення ядра, можливості Історична довідка 1998 р. – поява PHP 3. 0. З’явилася можливість розширення ядра, можливості взаємодії з базами даних, різними протоколами. Розробка нового, більш потужного та повного синтаксису з підтримкою об’єктно-орієнтованого програмування. PHP почали розшифровувати як Hypertext Preprocessor (РНР: препроцесор гіпертексту).

Сфери застосування РНР 1. Створення додатків (скриптів), які виконуються на стороні серверу. PHP найбільш Сфери застосування РНР 1. Створення додатків (скриптів), які виконуються на стороні серверу. PHP найбільш широко використовується саме для створення такого роду скриптів. Для того, щоб працювати таким чином, знадобиться PHP-парсер (тобто обробник php-скриптів) і web-сервер для обробки скрипта, браузер для перегляду результатів роботи скрипта, ну, і, звичайно, який-небудь текстовий редактор для написання самого php-коду. Парсер PHP розповсюджується у вигляді CGI-програми або серверного модуля.

Сфери застосування РНР 2. Створення скриптів, що виконуються в командному рядку. Тобто за допомогою Сфери застосування РНР 2. Створення скриптів, що виконуються в командному рядку. Тобто за допомогою PHP можна створювати такі скрипти, які виконуватимуться, незалежно від web-серверу і браузера, на конкретній машині. Для такої роботи буде потрібно лише парсер PHP (в цьому випадку його називають інтерпретатором командного рядка (cli, command line interpreter)). Цей спосіб роботи підходить, наприклад, для скриптів, які повинні виконуватися регулярно за допомогою різних планувальників задач або для вирішення задач простої обробки тексту.

Сфери застосування РНР 3. Створення GUI-додатків (графічних інтерфейсів), що виконуються на стороні клієнта. Для Сфери застосування РНР 3. Створення GUI-додатків (графічних інтерфейсів), що виконуються на стороні клієнта. Для застосування PHP в цій області буде потрібно спеціальний інструмент – PHP-GTK, який є розширенням PHP.

РНР У PHP поєднуються дві найпопулярніші парадигми програмування – об'єктна і процедурна. За допомогою РНР У PHP поєднуються дві найпопулярніші парадигми програмування – об'єктна і процедурна. За допомогою PHP можна створювати зображення, PDF-файли, флэш -ролики; у нього включена підтримка сучасних баз даних, вбудовані функції для роботи з текстовими даними будь-яких форматів, включаючи XML, і функції для роботи з файловою системою. PHP підтримує взаємодію з різними сервісами за допомогою відповідних протоколів, таких як протокол управління доступом до директорій LDAP, протокол роботи з мережевим обладнанням SNMP, протоколи передачі повідомлень IMAP, NNTP і POP 3, протокол передачі гіпертексту HTTP і т. д. Звертаючи увагу на взаємодію між різними мовами, слід згадати про підтримку об'єктів Java і можливості їх використовування як об'єкти PHP.

PHP РНР являє собою щось середнє між компілятором та інтерпретатором. Процедура обробки сценарію у PHP РНР являє собою щось середнє між компілятором та інтерпретатором. Процедура обробки сценарію у РНР На вхід РНР подається сценарій. Він переводить (транслює) його в спеціальний байт-код (внутрішнє представлення). Потім РНР виконує байт-код (а не код самої програми!), при цьому він не створює файл виконання. Байт-код більш компактний, у порівнянні зі звичайним кодом програми, тому його легше і швидше інтерпретувати (виконувати). Тобто, РНР є у більшій мірі інтерпретатором, аніж компілятором.

Переваги РНР, як інтерпретатора Не потрібно турбуватися про звільнення виділеної пам’яті, не потрібно закривати Переваги РНР, як інтерпретатора Не потрібно турбуватися про звільнення виділеної пам’яті, не потрібно закривати файл по завершенні роботи з ним – це все зробить інтерпретатор, оскільки він контролює виконання програми l Не потрібно думати про типи змінних, не потрібно оголошувати змінну до її першого використання l Налагодження програми та виявлення помилок суттєво спрощуються – інтерпретатор повідомляє при виявленні помилок l Можна написати програму, що буде писати іншу програму, а потім включить в себе код щойно написаної програми та виконає його. l

Перша програма (скрипт) на РНР <? php $my_name=Galya; echo “<html><body><h 1>”; echo “Hello, $my_name!”; Перша програма (скрипт) на РНР ”; echo “Hello, $my_name!”; echo “” ? >

Виконання РНР-скрипту Перед запуском програму потрібно правильно “встановити” на сервері. Для цього сценарій під Виконання РНР-скрипту Перед запуском програму потрібно правильно “встановити” на сервері. Для цього сценарій під іменем first. php потрібно скопіювати в каталог Document. Root сервера. На відміну від CGI програм, сценарії РНР є для сервера звичаними документами і їх не потрібно записувати у каталог cgi-bin. Записавши програму, в рядку браузера введіть http: //127. 0. 0. 1/first. php Якщо тепер, сторінку, що відображена у браузері переглянути у вигляді HTML-коду, то можна побачити наступне: Hello, Galya! РНР-код підставив потрібне значення змінної $my_name та видав готову HTML-сторінку.

Програма РНР Код РНР береться у спеціальні теги <? рнр та ? >. Після Програма РНР Код РНР береться у спеціальні теги . Після тега початку сценарію (

Програма РНР Інший приклад: $word 1=“Hello”; $word 2=“World”; echo “$word 1, $word 2” echo Програма РНР Інший приклад: $word 1=“Hello”; $word 2=“World”; echo “$word 1, $word 2” echo “$word 1, word 2”; Перший оператор виведе у браузері рядок “Hello, World”, а другий – “Hello, word 2”. Слід зазначити, що у нашому прикладі (first. php) ми не оголосили змінну $my_name. Її оголосив автоматично сам РНР – оскільки це параметр, переданий сценарію браузером.

РНР Модифікуємо текст програми: <? php echo “<html><body><h 1>” echo “Hello, $my_name”; echo “ РНР Модифікуємо текст програми: ” echo “Hello, $my_name”; echo “ $var”; echo “”; ? > Якщо програмі не буде передано параметр $var, то браузер видасть зауваження, що змінна $var не визначена. Для того, щоб позбавитися помилки, безпосередньо перед оператором echo “ $var” слід додати рядок $var=“ “. Змінна буде оголошена та ініціалізована.

Коментарі в РНР 1 тип: # Це коментар 2 тип: // Це коментар 3 Коментарі в РНР 1 тип: # Це коментар 2 тип: // Це коментар 3 тип: /* Довгий, на багато рядків коментар */

Змінні та типи даних Змінна – це область оперативної пам’яті, доступ до якої здійснюється Змінні та типи даних Змінна – це область оперативної пам’яті, доступ до якої здійснюється за іменем. Всі дані, з якими працює програма, зберігаються у вигляді змінних. У РНР перед змінною обов’язково ставити знак долара – так інтерпретатору легше виділяти змінні з маси тексту програми. Кількість оголошених змінних не обмежується.

Правила опису змінних l l Ім’я змінної має починатися зі знаку долара $ Ім’я Правила опису змінних l l Ім’я змінної має починатися зі знаку долара $ Ім’я змінної не повинне містити жодних інших символів, окрім символів латинського алфавіту, цифр та знаку підкреслювання Імена змінних у РНР чутливі до зміни регістру Оголошувати змінну можна у будь-якому місці, але до моменту, коли вона буде використовуватися вперше.

Типи даних Змінні у РНР можуть містити будь-яку інформацію. Виключення складають лише константи, що Типи даних Змінні у РНР можуть містити будь-яку інформацію. Виключення складають лише константи, що можуть містити тільки число чи рядок. Такого поняття як вказівник (змінна, що містить не конкретне значення, а вказує на область пам’яті, де знаходиться це значення), у РНР не існує. При присвоюванні змінна копіюється “один в один”, яку б структуру вона не мала. Нехай маємо дві змінні – масив та рядок. Якщо ми першій змінній присвоємо значення другої, то масив буде втрачено, а змінна, що містила масив буде містити рядок. Це означає, що копіюється не тільки значення змінної, але і структура.

Типи даних Тип змінної Опис Integer Ціле число. Даний тип відповідає типу longint у Типи даних Тип змінної Опис Integer Ціле число. Даний тип відповідає типу longint у Паскалі Double(float) Дійсне число String Рядок. Дуже важливий тип даних, оскільки у більшості випадків сценарії займаються обробкою якихось рядків Array Масив Object Мова РНР підтримує принципи ООП. Програміст може створювати свої об’єкти та використовувати їх у програмі. Bool Логічний тип даних. Змінні можуть набувати значень true (істинно) чи false (хибно)

Типи даних При оголошенні змінних можна не вказувати їх тип. Вибір типу здійснюється самим Типи даних При оголошенні змінних можна не вказувати їх тип. Вибір типу здійснюється самим інтерпретатором. Однак, РНР може помилятися, тому типи можна задавати явно, використовуючи дані, приведені у таблиці.

Функції Мова РНР надає багато засобів для визначення типу змінних: is_int($x) чи is_integer($x) – Функції Мова РНР надає багато засобів для визначення типу змінних: is_int($x) чи is_integer($x) – повертає true, якщо змінна, що передається, ціле число. is_double($x) чи is_float($x) - повертає true, якщо змінна – дійсне число. is_string($x) - повертає true, якщо змінна - рядок is_array - повертає true, якщо змінна – масив. is_object($x) - повертає true, якщо змінна – об’єкт is_bool($x) - повертає true, якщо змінна - логічна gettype($x) – повертає рядки, що відповідають типу змінної: integer, double, string, object, array, bool чи unknown type, якщо неможливо визначити тип. settype($x, $tyoe), де $type – один з рядків, що повертаються функцією gettype. Наприклад, settype($x, “double”) повертає значення false, якщо неможливо привести змінну $x до вказаного типу.

Логічні змінні У РНР істиною є будь-яке відмінне від нуля число, будь-який непустий рядок, Логічні змінні У РНР істиною є будь-яке відмінне від нуля число, будь-який непустий рядок, значення true. Значення false, пустий рядок, нуль – це хибно. Перший оператор виводиться пустий рядок, тобто нічого не виводить, а другий – виведе 1.

Логічні змінні Важлива особливість РНР: якщо в операторах порівняння (==, !=, <, >) один Логічні змінні Важлива особливість РНР: якщо в операторах порівняння (==, !=, <, >) один тип є логічним, то другий теж сприймається, як логічний. 10<>1, тобто у результаті роботи виводиться лише другий рядок. Але. . .

Логічні змінні <? php $x=100; $y=true; echo “x=$xn”; echo “y=$yn”; if ($x==$y) echo “X=Y” Логічні змінні Спочатку програма повідомляє, що Х=100, Y=1, а потім, що X=Y.

Константи Для визначення констант використовується функція define, що має наступний формат: define($name, $value, $case_sen) Константи Для визначення констант використовується функція define, що має наступний формат: define($name, $value, $case_sen) $name – ім’я константи $value – значення константи $case_sen – необов’язковий параметр логічного типу, що вказує чи потрібно враховувати регістр літер (true) чи ні (false). define (“pi”, 3. 14, false) echo pi;

Константи При оголошенні констант слід враховувати два важливих моменти: lІм’я константи повинне братися у Константи При оголошенні констант слід враховувати два важливих моменти: lІм’я константи повинне братися у лапки, а не в апострофи l. Неможливо оголошувати дві константи з однаковим іменем Для перевірки існування константи використовується функція defined(), що повертає true, якщо константа оголошена та false – якщо ні. defined(“pi”, 3. 14, true); if ((defined(“pi”)==true) echo “Константа оголошена”;

Стандартні константи Ім’я __FILE__ __LINE__ PHP_OS PHP_VERSION Значення Зберігає ім’я програми, що виконується на Стандартні константи Ім’я __FILE__ __LINE__ PHP_OS PHP_VERSION Значення Зберігає ім’я програми, що виконується на даний момент Номер рядка, що обробляється інтерпретатором Ід’я та версія операційної системи під якою запущено РНР Версія РНР TRUE, true, False, Логічні константи false

Операції зі змінними Оператор присвоювання дозволяє надати змінній деяке значення. Змінній можна присвоїти будь-яке Операції зі змінними Оператор присвоювання дозволяє надати змінній деяке значення. Змінній можна присвоїти будь-яке значення; значення, що повертається функцією, значення іншої змінної; значення виразу; посилання на іншу змінну. У РНР немає вказівників. Тому, якщо у змінну $x помістити файл розміром 500 Кб, а потім присвоїти їй значення $y, то буде створена точна копія змінної $x, що теж буде займати 500 Кб. Тому, в пам’яті буде майже один магабайт інформації.

Операції зі змінними Інтерпретатор сам виконує перетворення типів, але існують випадки, коли привести один Операції зі змінними Інтерпретатор сам виконує перетворення типів, але існують випадки, коли привести один тип змінних до іншого просто неможливо. (наприклад, перетворити рядок “ 1212 ю3 te” у число). При присвоюванні створюється точна копія змінної, тобто копіюється і тип змінної.

Оператор присвоювання Робота оператора присвоювання складається з двох послідовних дій: 1. Обрахунок виразу, що Оператор присвоювання Робота оператора присвоювання складається з двох послідовних дій: 1. Обрахунок виразу, що стоїть справа 2. Присвоєння змінній, що стоїть зліва, значення, отриманого у пункті 1. Відповідно, зліва та справа в операторі присвоювання може знаходитися одна і та ж змінна ($x=$x+4).

Видалення змінних здійснюється за допомогою команди unset(). Ця функція видаляє вказану в дужках змінну Видалення змінних здійснюється за допомогою команди unset(). Ця функція видаляє вказану в дужках змінну з пам’яті, і програма виконується далі.

Вирази та операції Вирази є цеглинками мови РНР. Виразом вважається все, що має значення Вирази та операції Вирази є цеглинками мови РНР. Виразом вважається все, що має значення (і навпаки). Найпростіший вираз – константа, що стоїть у правій частині оператора присвоювання. $x=100; $x – змінна, = - оператор присвоювання, 100 – вираз.

Вирази Виразом може слугувати й змінна, якщо їй поставлене у відповідність деяке значення. Наприклад, Вирази Виразом може слугувати й змінна, якщо їй поставлене у відповідність деяке значення. Наприклад, $x = 4; $y = $x; У першому операторі виразом є константа 4. У другому – змінна $x, оскільки вище їй було присвоєне значення 4. $y теж є виразом, оскільки має значення 4.

Арифметичні операції X+Y – додавання X-Y – віднімання X*Y - множення X/Y – ділення Арифметичні операції X+Y – додавання X-Y – віднімання X*Y - множення X/Y – ділення X%Y – остача від ділення X на Y Операція інкремента $x++ - збільшує значення на 1 Операція декремента $x-- - зменшує значення на 1

Бітові операції Дані операції призначені для установки чи зняття груп бітів цілочисельної змінної. Будь-яке Бітові операції Дані операції призначені для установки чи зняття груп бітів цілочисельної змінної. Будь-яке число – це просто послідовність біт. Цілі числа в РНР – 32 -розрядні, тому для представлення одного числа використовується 32 біти. x & y – будуть встановлені ті біти, що встановлені в x і y одночасно x = 1111 (15) y = 1100 (12) результат = 1100 (12)

Бітові операції x | y – будуть встановлені тільки ті біти, що були встановлені Бітові операції x | y – будуть встановлені тільки ті біти, що були встановлені або в x, або в y x = 0100 (4) y = 0101 (5) результат = 0101(5) ~x – інвертування бітів x = 1001 результат = 0110 x << y – порозрядний зсув бітів вліво на y розрядів x = 0010 y = 0001 (1 розряд) результат = 0100 x >> y – порозрядний зсув бітів x вправо на y розрядів x = 0010 y = 0001 (1 розряд) результат = 0001

Логічні вирази – це вирази, результатом яких може бути істина чи хиба. У логічних Логічні вирази – це вирази, результатом яких може бути істина чи хиба. У логічних виразах можна використовувати операції порівняння чи логічні операції. Оператори порівняння: == - рівно != - не рівно < - менше > - більше >= - більше рівно <= - менше рівно

Логічні вирази У РНР не можна порівнювати масиви та об’єкти. Дозволяється порівнювати тільки скалярні Логічні вирази У РНР не можна порівнювати масиви та об’єкти. Дозволяється порівнювати тільки скалярні змінні. $x = true / $x – істина $x = $y < 0 / $x = true, if $y < 0 $x = $y ==0 / $x = true, if $y = 0

Логічні операції !x повертає true, якщо х – хибно, і навпаки (заперечення – NOT) Логічні операції !x повертає true, якщо х – хибно, і навпаки (заперечення – NOT) x && y повертає true, якщо x і y – істинні (логічна операція І – AND) x || y повертає true, якщо істинно хоча б одне зі значень чи всі вони істинні (логічна операція ЧИ – OR)

Рядки $s = “Hello”; echo “$s”; echo ‘$s’ Якщо рядок взято між апострофи, то Рядки $s = “Hello”; echo “$s”; echo ‘$s’ Якщо рядок взято між апострофи, то всі символи трактуються як є. Виключенням є послідовності і \. Перша являє собою звичайний апостроф, а друга – зворотну похилу. Рядки в лапках дозволяють вивести значення змінної. Рядки в лапках можуть містити наступні спеціальні символи: n – символ нового рядка r – символ повернення каретки t – символ табуляції $ - знак долара ” – лапки NN – символ з кодом NN у шістнадцятеричній системі.

Операції з рядками s 1. s 2 – конкатенація (злиття) двох рядків s 1[n] Операції з рядками s 1. s 2 – конкатенація (злиття) двох рядків s 1[n] - звернення до символу у рядку Here-документи – спосіб запису багаторядкових констант. Довжина рядка в РНР обмежена тільки об’ємом вільної оперативної пам’яті. $s = <<

Жорсткі посилання Жорстке посилання – це просто псевдонім імені другої змінної. Для неї використовується Жорсткі посилання Жорстке посилання – це просто псевдонім імені другої змінної. Для неї використовується оператор &.

Символічні посилання Символічне посилання – це звичайна змінна, що містить ім’я іншої змінної. Для Символічні посилання Символічне посилання – це звичайна змінна, що містить ім’я іншої змінної. Для доступу до значення посилання використовується подвійний знак долара $$.

http: //rutherford. akit. cnu/~lgv/назва програми. php http: //rutherford. akit. cnu/~lgv/назва програми. php