Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PHP.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
184.05 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Національний університет «Львівська політехніка»

Інститут комп’ютерних наук та інформаційних технологій

Кафедра ICM

Доповідь

на тему:

«Технологія PHP»

з курсу «Інформаційні технології комп’ютерних мереж»

Виконав:

студент гр. СШІм-11

Самковський Т. Ю.

Прийняв:

доцент каф. ІСМ

Василюк А. С.

Львів – 2012

Оглавление

Вступ 4

Історія розвитку PHP 4

PHP 5

PHP / FI 5

PHP 3 7

PHP 4 8

PHP 5 9

PHP 6 9

Можливості PHP 10

Движок мови PHP 12

Нововведення в PHP5 14

Нова об’єктна модель Zend 2.0 14

Покращена продуктивність 14

Нові директиви 15

Нові механізми роботи з потоками 15

Нові функції PHP5 15

Нові розширення 15

Розширення Tidy: 16

Розширення Perl: 16

Розширення SQLite: 16

Нове розширення MySQLi (вдосконалена MySQL): 16

Покращена підтримка XML в PHP5 16

Основи: 16

SAX: 17

DOM: 17

XSLT: 17

SimpleXML: 18

SOAP: 18

Синтаксис PHP 18

Загальні поняття 18

PHP і HTML 19

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

Змінні в PHP 19

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

Вирази в PHP 20

Оператори PHP 21

Приклади операторів PHP: 21

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

Керуючі конструкції мови PHP 21

Користувальницькі функції в PHP 22

ООП і PHP 22

Переваги та недоліки PHP 23

Традиційність 23

Простота 24

Ефективність 24

Безпека 24

Гнучкість 25

Безкоштовне розповсюдження 26

Недоліки PHP 26

Критика PHP 26

Список використаних джерел 28

Вступ

У «стародавні століття» сайти були статичні, тобто складалися з готових сторінок HTML, об'єднаних гіперпосиланнями. Сервер займався виключно тим, що за запитом передавав цю сторінку браузеру (найшвидший спосіб). Але «застиглі» сторінки, які часто доводилося переробляти, радували не особливо, так як зміна стилю вело до того, що доводилося вручну переробляти весь сайт. Потім ситуацію поправили CSS і браузерні скриптові мови, які дозволили внести в браузер трохи динаміки: активне меню, робота з формами зворотного зв'язку і т.д. З боку сервера трудилися CGI-програми, які генерували сторінки. Але PHP, розроблений в 1995 році Расмусом Лердорфом, став справжнім скарбом. Програми на PHP, що представляють собою текстові скрипти для серверного інтерпретатора, можна було вставляти або в код HTML, або створювати окремими файлами. Сам мова має масу можливостей і віддалено нагадує за структурою Сі, доповнений масою специфічних функцій, включаючи графічні бібліотеки. Особливо важливою є зв'язок PHP з СУБД, серед яких найчастіше використовують MySQL. В результаті для створення динамічного сайту достатньо зберігати його «запчастини» в полях бази даних, а при запиті вибирати дані з полів і створювати з них сторіночку «на льоту». Самі дані теж можуть зберігатися в атомарному вигляді або у вигляді згрупованих даних: текст окремо, його оформлення окремо. Така гнучкість розбирання і зборки сайту дозволяє створювати динамічно не лише окремі сторінки, а й цілі сайти.

Як вже говорилося, скрипти PHP знаходяться найчастіше всередині HTML, але бачити їх може лише сам розробник: коли сторінка потрапляє в браузер, програма до цього моменту «зникає», залишаючи після себе лише сліди своєї діяльності: результати математичних розрахунків, таблиці, тексти і т.д. Для всього цього PHP повністю підготовлений, маючи у складі весь джентльменський набір функцій і стандартних засобів управління, включаючи пастки переривань. У повному вигляді підтримується ООП. Мова виявився настільки простий, що ним користуються всі, в результаті чого багато програм є неякісними, але при акуратному підході мова дозволяє створювати дуже потужні і безпечні проекти.

Історія розвитку php

Мова PHP був розроблений як інструмент для вирішення суто практичних завдань. Його творець, Расмус Лердорф, хотів знати, скільки чоловік читають його онлайн-резюме, і написав для цього простеньку CGI-оболонку на мові Perl, тобто це був набір Perl-скриптів, призначених виключно для певної мети - збору статистики відвідувань.

За останні роки PHP пройшов довгий шлях від набору Perl скриптів, що дозволяють стежити за відвідувачами сторінки, і до, написаного вже на мові С, одного з найвідоміших і широко поширених скриптових мов для створення складних, динамічних, інтерактивних web-сайтів.

PHP найкраще охарактеризувати як працюючий на стороні сервера вбудована мова web сценаріїв, що дозволяє розробникам швидко і ефективно створювати динамічні web-додатки. З позицій граматики і синтаксису PHP нагадує мову програмування C, хоча розробники включили в нього деякі вельми корисні кошти з інших мов програмування, в тому числі з Perl, Java і C + +. Серед цінних запозичених можливостей - підтримка регулярних виразів, потужні засоби роботи з масивами, об'єктно-орієнтована методологія і велика підтримка роботи з різними базами даних.

PHP

Історія PHP починається восени 1994 року. Коли Расмус Лердорф (Rasmus Lerdorf) почав працювати над тим, що згодом стало PHP, єдиною метою, яка була у нього в думках, з'ясувати, хто читає його резюме. У той час, будучи незалежним підрядником, Лердорф розсилав потенційним працедавцям своє міні-резюме з URL посиланням на його повну версію. Щоб стежити за відвідувачами, він створив CGI скрипт на Perl-і, який вставлявся як спеціальний тег в HTML код його сторінки, і збирав інформацію про відвідувачів. Щоб справити враження на потенційних працедавців, він дозволив будь-якому відвідувачеві сторінки проглядати збирану статистику відвідувань.

Він назвав цей код для збору статистики «PHP-Tools for Personal Home Page», оскільки сам використовував його на своїй персональній домашній сторінці (personal home page). Кілька людей поцікавилися тим, як вони могли б отримати цей інструмент, і Лердорф прийняв рішення надати його іншим особам. «Це диво програмного забезпечення. Ви можете дати це і проте залишити це собі », дотепно зауважив Лердорф. У той час руху Open Source не існувало. «Тоді воно назвалося freeware». Ближче до кінця 1995 року Лердорф відкрив для людей перший список розсилки по PHP, щоб можна було обмінюватися ідеями, виправленнями помилок і кодом.

PHP / FI

В результаті своїх дій, Лердорф отримав контракт в Університеті Торонто на створення dial-up системи, що надає студентам доступ в інтернет. Вимога включало розробку адміністративного web інтерфейсу і можливості доступу студентів до Університетської бібліотечну систему, що зберігалася на мейнфреймів IBM. Було необхідно, щоб адміністратори бібліотеки могли надавати студентам доступ на основі платежів, зроблених ними для своїх інтернет екаунтів, і, щоб ця інформація оновлювалася в базі даних в реальному часі.

У середині 1995 року синтаксичний аналізатор PHP був переписаний на мові C. Крім того, Лердорф створив деяку кількість тегів для вставки їх в HTML код. Ці теги він назвав «Form Interpreters» (інтерпретатори форм) оскільки вони повинні були одержувати дані, які вводилися в формі, і перетворювати ці дані в символьні змінні так, щоб вони могли бути експортовані в іншу систему.

У той час не було інструментів для «стикування» web-сторінок і баз даних. Тому Лердорф додав в PHP підтримку бази даних mSQL, щоб полегшити розробку web-сайтів, яким необхідна реляційна база даних.

Об'єднавши інтерпретатор форм з пакетом PHP-Tools, Лердорф підійшов в 1996 році до другої версії PHP, названої PHP / FI. Він поставився легковажно до ідеї створення з нього комерційного продукту. Але в той же самий час, Лердорф отримував величезне число повідомлень від інших програмістів, які надсилали йому поліпшення коду і виправлення помилок.

Привести точну статистику непросто, але приблизно в кінці 1996 року PHP / FI використовувався не менш ніж на 15,000 web-сайтів у всьому світі. А в середині 1997 року це число перевищило 50,000.

PHP, як усім відомо, насправді наступник продукту під назвою PHP / FI. Створене в 1994 році Расмусом Лердорфом, найперше втілення PHP було простим набором CGI-скриптів, написаних на мові програмування Сі. Спочатку використовуючи їх для відстеження відвідувань свого веб-резюме, він назвав цей набір скриптів "Особисті інструменти Персональні" ("Інструменти для персональних домашніх сторінок»), але більш часто згадувалося назву "PHP Сервіс". З часом потрібно усе більше поліпшень функціональності, і Расмус переписав PHP інструменти, створивши більш велику і багату реалізацію. Ця нова реалізація була здатна взаімодействать з базами даних та багато іншого, що створювало фреймворк, за допомогою якого користувачі могли створювати прості динамічні веб-додатки, такі як гостьові книги. У червні 1995 року Расмус »відкрив вихідний код PHP Інструменти громадськості, що дозволило розробникам використовувати його на свій розсуд. Це також дало можливість користувачам виправляти помилки в коді і покращувати його.

У вересні того ж року, Расмус розширив PHP і на короткий час прибрав з назви PHP. Тепер у вигляді інструменту FI (скорочення від "Інтерпретатор Форм"), нова реалізація включала в себе деякі основні функціональні можливості того PHP, який ми знаємо сьогодні. Вона мала Perl-подібні змінні, автоматичну інтерпретацію форм і вбудовується в HTML синтаксис. Синтаксис мови був схожий на Perl, хоча і був набагато більш обмеженим, простим, і в деякій мірі суперечливим. Для того, щоб вставляти код в HTML-файл, розробникам довелося використовувати HTML коментарі. Хоча цей метод був не зовсім добре прийнятий, FI і раніше набирав популярність як CGI-інструменту, але все-таки не в якості мови. Однак, зміни почалися в наступному місяці, коли в жовтні 1995 року Расмус випустив повністю переписаний код. З повернулися ім'ям PHP, але вже скороченим від "Особистий Головна Construction Kit", це був перший реліз, який міг похвалитися розширеним інтерфейсом сценаріїв. Мова навмисно нагадував Сі по структурі, що робив його легким для сприйняття розробниками, знайомими з Сі, Perl і подібними мовами. Будучи все ще обмеженими UNIX і POSIX-сумісними системами, було вивчено питання для реалізації мови в Windows NT.

Код отримав ще одне істотне перетворення в квітні 1996 року. Об'єднавши назви попередніх версій, Расмус представив PHP / FI. Реалізації другого покоління почали по-справжньому розвивати PHP з набору інструментів в самостійний мову програмування. PHP включав в себе вбудовану підтримку для DBM, тЗС' і Postgres95 баз даних, печиво, підтримку визначаються користувачем функцій і багато іншого. У червні PHP / FI була привласнена версія 2.0. Цікаво, однак, що існувала тільки одна версія PHP 2.0. Коли вона, нарешті, в листопаді 1997 року подолала статус бета-версії, парсер мови був уже повністю переписаний.

Незважаючи на коротку історію розробки, PHP / FI продовжував набирати популярність в молодому світі веб-розробки. У 1997 і 1998 році, PHP / FI став культом для декількох тисяч користувачів по всьому світу. Дослідження Netcraft в травні 1998 року показали, що майже 60 тисяч доменів передавали заголовки, що містять "PHP". Це число дорівнювало приблизно 1% від всіх доменів в Інтернеті в той час. Незважаючи на ці вражаючі цифри, розвиток PHP / FI було обмежено: незважаючи на кількох другорядних учасників, в цілому він як і раніше разработивался однією людиною.

PHP 3

PHP 3.0 був першою версією, яка близько нагадувала той PHP, який ми знаємо сьогодні. Він був створений Енді Гутманс (Andi Gutmans) і Зівом Суразскі (Zeev Suraski) в 1997 році як повна переробка попередньої версії PHP, після того, як вони знайшли, що можливостей PHP / FI 2.0 сильно не вистачає для розвитку їх власного додатка для eCommerce. Енді Гутманс, Расмус Лердорф і Зів Суразскі вирішили почати роботу над новою версією PHP з існуючою бази PHP / FI і, об'єднавшись, випустили PHP 3.0 як офіційний послідовник PHP / FI 2.0, а розвиток PHP / FI 2.0 був в основному перервано.

Однією з найбільш сильних сторін PHP 3.0 були його потужні можливості з розширення. На додаток до надання кінцевим користувачам єдиної інфраструктури для безлічі різних баз даних, протоколів і API, були можливості з розширення PHP 3.0, які залучили десятки розробників до об'єднання та надання на розгляд нових модулів розширення. Можливо, це і було ключем до величезного успіху PHP. Іншою можливістю, представленої в PHP 3.0, була підтримка об'єктно-орієнтованого синтаксису і набагато більш потужний і послідовний синтаксис мови.

Повністю нова мова був випущений під новим ім'ям, з якого був вилучений натяк на обмежене персональне використання, який містився в імені PHP / FI 2.0. Він був названий просто «PHP», зі значенням, що є рекурсивним акронімом - «PHP: Hypertext Preprocessor».

PHP 4

До зими 1998 року, незабаром після офіційного виходу PHP 3.0, Енді Гутманс і Зів Суразскі почали роботу з переписування ядра PHP. Метою їх плану було збільшення продуктивності складних додатків і вдосконалення модульності основи коду PHP. Існування таких додатків стало можливим завдяки новим можливостям PHP 3.0 і підтримкою PHP широкого діапазону різних баз даних і API сторонніх виробників. Але все ж PHP 3.0 не був призначений для ефективної обробки таких складних додатків.

Новий движок (ядро PHP), прозваний «Zend Engine» (складено від перших літер їхніх імен - Зів і Енді), успішно задовольнив цим цілям і був вперше представлений в середині 1999 року. PHP 4.0, який базується на цьому движку і доповнений різними новими додатковими можливостями, був офіційно випущений в травні 2000 року, майже через два роки після свого попередника - PHP 3.0. На додаток до сильно збільшеної продуктивності, PHP 4.0 включив інші ключові можливості, такі як підтримку набагато більшої кількості web-серверів, HTTP-сесії, буферизацію виводу, більш безпечні шляхи обробки введення користувачів і ряд нових мовних конструкцій.

Сьогоднішня провідна команда розробників РНР включає фахівців з усього світу. Зів Сураські і Енді Гутманс живуть в Ізраїлі, Шейн Каравео (Shane Caraveo) постійно знаходиться у Флориді, Стіг Бекка (Stig Bakken) - з Норвегії, Андрій Зміївському (Andrei Zmievski) живе в штаті Небраска, Саша Шуман (Sasha Schumann) і Тес З . Арнц (Thes С. Arntzen) - з Німеччини, Джим Уїнстед (Jim Winstead) - з Лос-Анджелеса, а сам батько РНР - Расмус Лердорф, постійно живе в Північній Кароліні. Команда розробки PHP включає десятки розробників, і чимало інших людей працюють над проектами, пов'язаними з PHP, такими як PEAR, Smarty та Проект документації. Завдяки відкритості ресурсів РНР багато розробників і любителі внесли власний внесок у розвиток і вдосконалення РНР.

PHP 5

П'ята версія PHP була випущена розробниками 13 липня 2004. Зміни включають оновлення ядра Zend (Zend Engine 2), що істотно збільшило ефективність інтерпретатора. Введена підтримка мови розмітки XML. Повністю перероблені функції ООП, які стали багато в чому схожі з моделлю, використовуваною в Java. Зокрема, введено деструктор, відкриті, закриті і захищені члени і методи, остаточні члени і методи, інтерфейси і клонування об'єктів. Нововведення, проте, були зроблені з розрахунком зберегти найбільшу сумісність з кодом на попередніх версіях мови. На даний момент останньої стабільної гілкою є PHP 5.3, яка містить ряд змін і доповнень:

  • Збільшена швидкість роботи, приблизно на 10-20%

  • Введено простір імен

  • Пізніше статичну зв'язування і спеціальний метод __ callStatic ()

  • Лямбда-функції і замикання

  • Додавання розширень: intl, phar, fileinfo і sqlite3

  • Опціональний збирач сміття

  • Був написаний драйвер MySQLnd для найпопулярнішою у PHP розробників бази даних Mysql. З появою нативного драйвера швидкість роботи з Mysql значно збільшилася, також новий драйвер доступний вже в стандартній зборці (раніше це було неможливо через ліцензії, пов'язаної з libmysql)

  • Скасування підтримки версій операційної системи до Windows 2000 (Windows 98, NT4, і.т.д.)

  • Нові синтаксичні конструкції, такі як NOWDOC, обмежений GOTO, короткий вид тернарного оператора «?:»

PHP 6

Шоста версія PHP перебувала в стадії розробки з жовтня 2006 року. У ній вже були зроблені безліч нововведень, як, наприклад, виключення з ядра регулярних виразів POSIX і "довгих" суперглобальних масивів, видалення директив safe_mode, magic_quotes_gpc і register_globals з конфігураційного файлу php.ini. Основні зусилля були зосереджені на підтримці Юнікоду. Однак у березні 2010 року розробка PHP6 було визнано безперспективною через складнощі з підтримкою Юнікоду. Вихідний код PHP6 переміщений на гілку, а основною лінією розробки стала версія 5.4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]