Використання фреймворків для розробки 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.2014Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки 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.2015Unified 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