Використання фреймворків для розробки Web-додатків на мові PHP

Розгляд можливостей найбільш поширених сучасних PHP фреймворків. Порівняння їх та пошук найкращого та найзручнішого з них. Аналіз інструментів криптографічного кодування. Особливість розширення можливостей створення більшої кількості окремих бібліотек.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 09.10.2018
Размер файла 23,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

УДК 004.78

Східноєвропейський національний університет імені Лесі Українки

ВИКОРИСТАННЯ ФРЕЙМВОРКІВ ДЛЯ РОЗРОБКИ WEB-ДОДАТКІВ НА МОВІ PHP

Яцюк С.М.

Яцюк А.В.

Муляр В.П.

Постановка проблеми. Розвиток Інтернету нерозривно пов'язано з проектуванням сайтів. Масова поява сайтів спровокувала проблему їх якості. Популярність створення Web-ресурсів сприяла розробці різних систем і програм, які спрощують процес написання сайту. Також вони допомагають підвищити ефективність роботи, а також дозволяють розробнику сфокусуватися на основній логіці програми. Такі технології, як PHP, Java, Microsoft.Net, MySQL, Oracle, Microsoft SQL Server і розроблені на їх основі фреймворки - це каркаси системи або підсистеми, що можуть включати допоміжні програми, мови сценаріїв - і все, що полегшує розробку й об'єднання різних компонентів. Фреймворки за останній час набрали популярність, і стали базовою платформою для розробки Web-додатків.

Аналіз літературних джерел. Проаналізувавши інформацію з мережі Інтернет, можна побачити що існує сотні фреймворків для створення Web-додатків. Тому досить складно зробити вибір фреймворку, так як кожен з них має велику кількість привабливих функцій та доповнень. А неправильний вибір фреймворку може стати основною причиною невдачі проекту. Тема вибору фреймворку погано розкрита в мережі Інтернет та друкованих джерелах . Тому доцільно виділити критерії, на які потрібно спиратися при виборі фреймворку, щоб не допустити непоправної помилки. Також потрібно оцінити які фреймворки є найбільш простими та дозволяють створити веб-сайт швидше за все, а які надають сайту найбільше можливостей й гнучкості.

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

Виклад основного матеріалу дослідження. Фреймворки - це програмні продукти, які спрощують створення і подтримку технічно сладних проектів . Фреймворк містить тільки базові програмні модулі, а всі специфічні для проекту компоненти реалізуються розробником на їх основі. Тим самим досягається не тільки висока швидкість розробки, але й продуктивність і надійність створеного проекту [2].

Фреймворк відрізняється від бібліотеки тим, що бібліотека може бути використана в програмному продукті просто як набір підсистем близької функціональності, не впливаючи на архітектуру основного програмного продукту і не накладаючи на неї ніяких обмежень. Фреймворк диктує правила побудови архітектури проекту.

Одним з головних переваг при використанні фреймворків є те, що веб-проекти часто використовують стандартизовану структуру організації компонентів. Створення структури при розробці на фремворках значно спрощується. По суті, фреймворк - це множина конкретних і абстрактних класів, а також визначення способів їх взаємовідношень. Конкретні класи зазвичай реалізують взаємні відношення між класами, а абстрактні класи являють собою точки розширення, в яких каркаси можуть бути використані або адаптовані. [1,2,5]

Вибір правильного фреймворка для проекту на PHP - перший крок для його успішної реалізації.

PHP - найбільш популярна серверна скриптова мова програмування. З тих пір як вона з'явилась, а сталося це в 1995 році, складність веб-проектів зросла настільки, що вже немає сенсу писати код для всього з нуля. Щоб якось структурувати процес розробки, були створені фреймворки.

Проаналізуємо і порівняємо 10 найпопулярніших PHP^pefiMBopKm[3,4,6]. Згідно аналізу розробимо критерії вибору відповідного фреймворку для свого проекту.

FUELPHP

FuelPHP - повноцінний PHP-фреймворк, який підтримує не тільки архітектуру MVC, але ще і HMVC (Hierarchical - ієрархічна MVC). У нього є опціональний клас під назвою Presenter (колишня назва - ViewModel) між шарами Controller і View, в якому міститься логіка, необхідна для генерації уявлень.

Фреймворк FuelPHP є модульним, його можна розширювати. У фреймворку приділено увагу питанням безпеки: реалізована фільтрація даних, що вносяться користувачем, запитів, а також даних, що виводяться. У нього є свій фреймфорк авторизації і безліч інших просунутих функцій, а також досить велика документація.

SLIM

Slim - мікрофреймворк, що ідеально підходить для невеликих проектів або програм, де повноцінний фреймворк здасться зайвим. Його використовують PHP-розробники для створення RESTful API і сервісів. Серед функцій Slim - кешування HTTP на стороні клієнта, URL- маршрутизація, шифрування сесій і cookie, а також миттєві повідомлення по HTTP-запитах. Документація повна і зроблена якісно.

PHALCON

Phalcon був створений в 2012 році і швидко став популярним серед PHP-розробників. Його вважають дуже швидким, так як він написаний на C і C ++, щоб досягати найвищого можливого рівня оптимізації продуктивності. Але не хвилюйтеся, вчити С не доведеться - вся функціональність укладена в PHP-класи, які можна використовувати для будь-яких цілей.

Так як Phalcon спочатку був створений як розширення на С, його архітектура оптимізована на низькому рівні, що значно знижує витрату ресурсів, типове для додатків, заснованих на схемі MVC. Phalcon не тільки підвищує швидкість виконання, але і знижує рівень витрат ресурсів. У цього PHP-фреймворку є і багато інших чудових функцій: універсальний автозавантажувач, менеджмент ресурсів, безпека, переклад, кешування і т. д. Документація для Phalcon досить розширена, а використовувати його нескладно. фреймворк криптографічний кодування бібліотека

Цікавий факт: ще в 2014 році Phalcon був другим за популярністю фреймворком, згідно з даними sitepoint.com. А вже в 2015-му він помітно здав позиції і перемістився ближче до кінця списку.

CAKEPHP

Фреймворку CakePHP вже десять років, а він все ще популярний. Роботі з ним легко навчитися, а шаблонування - швидке і настроюється. Вбудована функція CRUD дуже допомагає при взаємодії з базою даних. В останньому релізі - CakePHP 3.x - покращився управління сесіями і модульність (вони роз'єднали кілька компонентів), а також розширилися можливості створення більшої кількості окремих бібліотек.

Серед проектів, реалізованих на CakePHP, - сайти BMW і Hyundai. Вибирайте його, якщо вашому веб-додатку потрібно високий рівень безпеки, тому що функцій для цього тут більш ніж достатньо:

• валідація введення;

• Захист від атак з використанням впроваджуваного SQL (SQL injection);

• запобігання міжсайтового скриптинга;

• захист від підробки міжсайтових запитів і багато іншого.

SYMFONY2

Це PHP-фреймворк з відкритим кодом, який використовується для розробки web-додатків, іншими словами - це інструменти і методології, які спрощують процес створення web-проектів. Характерні особливості, що відрізняють даний фреймворк, полягають в його швидкості, гнучкості, масштабованості і стабільності. Він цілком може бути використаний в якості великого повномасштабного web-додатку або ж для невеликої функціональної потреби вже наявного проекту. Symfony2 підтримує безліч PDO-сумісних СУБД.

ZEND FRAMEWORK 2

Zend Framework 2 - фреймворк з відкритим вихідним кодом, що використовується для розробки веб-додатків і сервісів на PHP 5.3 +. Він використовує на 100% об'єктно-орієнтована код і більшість нових функцій PHP 5.3: простору імен, пізніше статичну зв'язування, лямбда-функції і замикання. Zend - надійне рішення з безліччю варіантів конфігурації. Зазвичай його не рекомендують використовувати для невеликих додатків, а ось для великих проектів це саме те.

Серед функцій Zend Framework 2: інструменти криптографічного кодування, простий у використанні drag-and-drop-редактор з підтримкою фронтенд-технологій (HTML, CSS, JavaScript), миттєва онлайн-налагодження, інструменти для unit тестування, майстер конфігурації бази даних. Творці цього фреймворка врахували методологію Agile, що дозволяє створювати високоякісні програми для корпоративних клієнтів.

У партнерах Zend - IBM, Microsoft, Google і Adobe. Рік тому Zend оголосив про наступне великому релізі - Zend Framework 3, оптимізованому під PHP 7, але все ще підтримує PHP 5.5 і вище. Всі чекали новинку ще восени 2015 го, ай зараз, в квітні 2016- го третьої версії досі немає.

YII 2

Вибирайте Yii, щоб підвищити продуктивність сайту. Він швидше за всіх інших PHP- фреймворків, так як використовує технологію завантаження на вимогу (lazy loading). Yii 2 повністю об'єктно-орієнтована і заснований на принципі Don't-Repeat-Yourself ( «не повторювати»), так що основа для коду буде чиста і логічна.

Yii 2 інтегрований з jQuery і поставляється з набором AJAX функцій. Механізми скіннінга і вибору тим тут прості, так що фреймворк сподобається тим, хто раніше займався фронтенд- розробкою. Тут також є потужний генератор вихідного коду - Gii, який сприяє об'єктно- орієнтованого програмування і швидкому прототіпірованію, а також надає веб-інтерфейс, в якому можна інтерактивно генерувати потрібний код [7].

ASP.NET

Платформа ASP.NET MVC базується на взаємодії трьох компонентів: контролера, моделі та подання. Контролер приймає запити, обробляє користувацький вхід, взаємодіє з моделлю і і повертає користувачеві результат обробки запиту.

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

ROR

Це повноцінний, багаторівневий фреймворк для побудови Web-проектів, що використовують бази даних, заснований на архітектурі Модель-Представлення-Контролер (Model- View-Controller, MVC).

Динамічний AJAX-інтерфейс, обробка запитів і видача даних в контролерах, предметна область, відображена в базі даних, - для всього цього Rails надає однорідне середовище розробки на Ruby. Все, що необхідно для початку роботи - база даних і веб-сервер.

STRUTS

Це середовище Open Source для розробки Web-проектів за допомогою технологій Java Servlet and Java Server Pages (JSP). Struts сприяє розробці додатків з архітектурою, що базується на платформі Model-View-Controller, відомої як Model 2. Спостерігає складові частини фреймворка і їх функції визначені в Struts:

1. Сервлет-контролер (controller servlet) координує запити до відповідних дієвих класів (action), створених розробниками програми.

2. Бібліотеки JSP тегів підтримуються сервлетом-контрол єром, що допомагає розробникам у створенні інтерактивних Web-додатків, заснованих на шаблонах.

3. Допоміжні класи для підтримки розбору (parsing) XML, автоматичного керування властивостями JavaBeans класу-дії, і інтернаціоналізації повідомлень і запитів.

Таблиця 1. Критерії вибору фреймворків

Фреймворк

Критерій

Zend

CakePHP

Svmfonv2

Yii

ASP.NET

ROR

Struts

Мова

PHP

PHP

PHP

PHP

ASP.NET

Rubv

Java

Шаблон проектування MVC

+

+

+

+

+

+

+

Застосування ORM

+

+

+

+

OR-M

незалежна

+

+

Інтеграція з БД

+

+

+

+

***

+

***

Механізми інтернаціоналізації і локалізації

+

+

+

+

***

+

+

Використання шаблонів при створенні інтерфейсів користувача

+

+

***

+

+

+

+

Створення і перевірка форм

+

+

+

+

+

+

+

Управління доступом на основі ролей

+

+

***

+

+

+

ні

Використання AJAX

+

+

***

+

+

+

+

ЧПУ (Friendlv URL)

+

+

+

+

+

+

ні

Модульне тестування (unittesting)

+

+

***

+

+

+

+

Система кешування

+

+

+

+

+

+

ні

Висновки

Одна з головних переваг фреймворка - зручна розробка нестандартних проектів. Жоден великий нестандартний проект (наприклад, twitter.com, фотобанк з онлайн купівлею фотографій, сайт знайомств і т.д.) не розроблений на готовій CMS - вони для цього не призначені. Усі оригінальні проекти розробляють на фреймворках. Web-проект, розроблений за допомогою фреймворку, розвивається динамічно. При зміні вимог змінюється і сайт, достатньо лише замінити окремий блок (модуль), створити новий розділ або внести новизну в дизайні.

В перспективі плануємо удосконалювати та вивчати нові фреймворки, які створюються розробниками на ринку і використовувати їх для вдалого створення Web-проектів.

Анотація

В статті проведено аналіз сучасних фреймворків для розробки Web-додатків на мові PHP, розроблено критерії вибору PHP-фреймворків. Зроблено висновки щодо доцільності застосування РНР-фреймворків.

Ключові слова: Прийняття рішень, PHP-фреймворк, MVC, фреймворк, Front-End, Back-End,CSS, MVC.

В статье проведен анализ современных фреймворков для разработки Web-приложений на языке PHP, разработаны критерии выбора PHP-фреймворков. Сделаны выводы о целесообразности применения РНР-фреймворков.

Ключевые слова: Принятие решений, PHP-фреймворк, MVC, фреймворк, Front-End, Back-End, CSS, MVC.

In the article an analysis of modern frameworks for the development of Web-applications in the language of PHP, developed criteria for the choice of PHP-frameworks. Conclusions regarding the feasibility of using PHP-frameworks are made.

Keywords: Decision Making, PHP Framework, MVC, Framework, Front-End, Back-End, CSS, MVC.

Размещено на Allbest.ru


Подобные документы

  • Переваги і проблеми дистанційної освіти на прикладі корпорації Microsoft. Створення власного web-додатку. Розробка технічних умов програмної системи, модуля пошуку та бронювання авіаквитків. Інтеграція модуля з сайтом. Використання javascript фреймворків.

    курсовая работа [1,0 M], добавлен 31.08.2014

  • Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи.

    дипломная работа [891,7 K], добавлен 25.10.2012

  • Використання програми в мові Delphi як одної з найпоширеніших засобів створення додатків баз даних. Створення, заповнення, обновлення і ліквідація БД. Можливі неполадки при роботі програм та методи їх усунення. Розрахунок вартості розробки програми.

    курсовая работа [617,3 K], добавлен 28.04.2015

  • Порівняльний аналіз можливостей, функцій та основних елементів програм для створення та редагування музичних композицій: AbletonLive, AdobeAudition, Cubase, FlStudio, Nuendo, Reason, SoundForge, WaveLab. Типи, версії та призначення програмних засобів.

    реферат [16,3 K], добавлен 19.06.2014

  • Принцип роботи конвеєрних комп’ютерних систем. Опис можливостей паралельної обробки інформації обчислювальною системою. Конвеєрна обробка на кожному з рівнів. Розширення трирівневої моделі паралелізму засобами опису потенційних можливостей конвейєризації.

    лабораторная работа [44,0 K], добавлен 21.10.2014

  • Склад та вимоги до профілів захищеності інформації. Аналіз найбільш поширених загроз Web-сторінкам. Класифікація вразливостей і атак. Автоматичне сканування Web-додатків. Сканер вразливостей Nikto-online, особливості та ефективність його роботи.

    курсовая работа [3,7 M], добавлен 18.05.2015

  • Unified modeling language як мова об'єктно-орієнтованого моделювання. Дослідження сучасних сase-засобів моделювання бізнес процесів. Кодогенератор для забезпечення зв'язку між Delphi і Rose. Перелік основних інструментів для створення моделі в ERwin.

    дипломная работа [3,2 M], добавлен 22.10.2012

  • Характеристика формування навичок розробки додатків із використанням кнопкових компонентів у середовищі програмування Visual Studio. Створення програми, що переводить числа з однієї системи числення до іншої. Особливість застосування додатку Converter.

    практическая работа [249,7 K], добавлен 01.12.2022

  • Зміст і структура інформаційного забезпечення. Області застосування штрихового кодування. Послідовність розробки позиційних і комбінованих систем кодування. Технологія застосування електронного документообігу. Особливості створення автоматизованих банків.

    реферат [30,2 K], добавлен 24.01.2011

  • Дослідження можливостей пошуку в Google за тематикою. Використання можливості розширеного тематичного пошуку для підвищення релевантності пошуку за встановленим завданням. Розширений пошук зображень. Особливості пошуку щодо країн та наукових знань.

    контрольная работа [4,6 M], добавлен 03.02.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.