Nette Application
Nette Application є ядром фреймворку Nette, яке надає потужні інструменти для створення сучасних веб-застосунків. Воно пропонує низку виняткових функцій, які значно полегшують розробку та покращують безпеку й підтримуваність коду.
Встановлення
Бібліотеку можна завантажити та встановити за допомогою інструменту Composer:
composer require nette/application
Чому варто обрати Nette Application?
Nette завжди був піонером у галузі веб-технологій.
Двосторонній роутер: Nette має вдосконалену систему маршрутизації, яка є унікальною завдяки своїй двосторонності — вона не тільки перетворює URL-адреси на дії застосунку, але й може генерувати URL-адреси у зворотному напрямку. Це означає, що:
- Ви можете будь-коли змінити структуру URL-адрес усього застосунку без необхідності редагувати шаблони
- URL-адреси автоматично канонізуються, що покращує SEO
- Маршрутизація визначається в одному місці, а не розкидана по анотаціях
Компоненти та сигнали: Вбудована система компонентів, натхненна Delphi та React.js, є абсолютно унікальною серед PHP-фреймворків:
- Дозволяє створювати багаторазові UI-елементи
- Підтримує ієрархічне складання компонентів
- Пропонує елегантну обробку AJAX-запитів за допомогою сигналів
- Багата бібліотека готових компонентів на Componette
AJAX та сніпети: Nette представив революційний спосіб роботи з AJAX ще у 2009 році, задовго до появи подібних рішень, таких як Hotwire для Ruby on Rails або Symfony UX Turbo:
- Сніпети дозволяють оновлювати лише частини сторінки без необхідності писати JavaScript
- Автоматична інтеграція з компонентною системою
- Розумна інвалідація частин сторінок
- Мінімальна кількість переданих даних
Інтуїтивні шаблони Latte: Найбезпечніша система шаблонів для PHP з розширеними функціями:
- Автоматичний захист від XSS за допомогою контекстно-залежного екранування
- Розширюваність за допомогою власних фільтрів, функцій та тегів
- Спадкування шаблонів та сніпети для AJAX
- Відмінна підтримка PHP 8.x з системою типів
Dependency Injection: Nette повністю використовує Dependency Injection:
- Автоматична передача залежностей (autowiring)
- Конфігурація за допомогою зрозумілого формату NEON
- Підтримка фабрик для компонентів
Основні переваги
- Безпека: Автоматичний захист від вразливостей, таких як XSS, CSRF тощо.
- Продуктивність: Менше коду, більше функцій завдяки розумному дизайну
- Налагодження: Tracy debugger з панеллю маршрутизації
- Швидкодія: Розумний кеш, ліниве завантаження компонентів
- Гнучкість: Легка зміна URL-адрес навіть після завершення розробки застосунку
- Компоненти: Унікальна система багаторазових UI-елементів
- Сучасність: Повна підтримка PHP 8.4+ та системи типів
Починаємо
- Як працюють застосунки? – Розуміння базової архітектури
- Presenters – Робота з презентерами та діями
- Шаблони – Створення шаблонів у Latte
- Маршрутизація – Конфігурація URL-адрес
- Інтерактивні компоненти – Використання компонентної системи
Сумісність з PHP
версія | сумісна з PHP |
---|---|
Nette Application 4.0 | PHP 8.1 – 8.4 |
Nette Application 3.2 | PHP 8.1 – 8.4 |
Nette Application 3.1 | PHP 7.2 – 8.3 |
Nette Application 3.0 | PHP 7.1 – 8.0 |
Nette Application 2.4 | PHP 5.6 – 8.0 |
Застосовується до останньої версії патчу.