Пишемо першу програму!
Давайте познайомимося з Nette Framework, створюючи простий блог з коментарями. Поїхали!
Вже після перших двох розділів ми матимемо власний функціонуючий блог і зможемо публікувати свої чудові дописи, хоча функції поки що будуть значною мірою обмежені. Вам також варто прочитати наступні розділи, де ми запрограмуємо додавання коментарів, редагування статей і на завершення забезпечимо безпеку блогу.
Цей посібник передбачає, що ви прочитали сторінку Встановлення та успішно підготували необхідні інструменти. Також передбачається, що ви розумієте об'єктно-орієнтоване програмування в PHP.
Будь ласка, використовуйте PHP 8.1 або новішу версію. Повну програму можна знайти на GitHub.
Вітальна сторінка
Почнемо зі створення нового проекту в каталозі nette-blog
:
composer create-project nette/web-project nette-blog
На даний момент початкова сторінка Web Project вже повинна працювати. Перевіримо це, відкривши браузер за наступною URL-адресою:
http://localhost/nette-blog/www/
і побачимо вітальну сторінку Nette Framework:

Програма працює, і ви можете почати вносити зміни.
Якщо виникла проблема, спробуйте ці поради.
Вміст Web Project
Web Project має таку структуру:
nette-blog/ ├── app/ ← каталог з програмою │ ├── Core/ ← базові класи, необхідні для роботи │ ├── Presentation/ ← презентери, шаблони та інше │ │ └── Home/ ← каталог презентера Home │ └── Bootstrap.php ← завантажувальний клас Bootstrap ├── bin/ ← скрипти, що запускаються з командного рядка ├── config/ ← конфігураційні файли ├── log/ ← логування помилок ├── temp/ ← тимчасові файли, кеш, … ├── vendor/ ← бібліотеки, встановлені Composer │ └── autoload.php ← автозавантаження всіх встановлених пакетів └── www/ ← публічний каталог - єдиний доступний з браузера └── index.php ← початковий файл, яким запускається програма
Каталог www/
призначений для зберігання зображень, файлів
JavaScript, стилів CSS та інших загальнодоступних файлів. Тільки цей каталог
доступний з Інтернету, тому налаштуйте кореневий каталог вашої
програми так, щоб він вказував саме сюди (це можна налаштувати в
конфігурації Apache або nginx, але зробимо це пізніше, зараз це не важливо).
Найважливіша папка для нас — app/
. Тут ми знайдемо файл
Bootstrap.php
, в якому знаходиться клас, що служить для завантаження
всього фреймворку та налаштування програми. Тут активується автозавантаження, налаштовується налагоджувач та маршрути.
Прибирання
Web Project містить вітальну сторінку, яку ми видалимо перед тим, як
почнемо щось програмувати. Без вагань замінимо вміст файлу
app/Presentation/Home/default.latte
на “Hello world!”.

Tracy (налагоджувач)
Надзвичайно важливий інструмент для розробки — це інструмент налагодження Tracy. Спробуйте викликати
якусь помилку у файлі app/Presentation/Home/HomePresenter.php
(наприклад,
видаливши фігурну дужку у визначенні класу HomePresenter) і подивіться, що
станеться. Вискочить сторінка сповіщення, яка зрозуміло описує
помилку.

Tracy нам дуже допоможе, коли ми будемо шукати помилки в програмі. Також зверніть увагу на плаваючу панель Tracy Bar у правому нижньому куті екрана, яка містить інформацію про виконання програми.

У робочому режимі Tracy, звісно, вимкнена і не відображає жодної
конфіденційної інформації. Усі помилки в цьому випадку зберігаються в
папці log/
. Давайте спробуємо це зробити. У файлі app/Bootstrap.php
розкоментуємо наступний рядок і змінимо параметр виклику на
false
, щоб код виглядав так:
...
$this->configurator->setDebugMode(false);
...
Після оновлення сторінки ми більше не побачимо Tracy. Замість неї відобразиться зручне для користувача повідомлення:

Тепер поглянемо в каталог log/
. Тут (у файлі exception.log
) ми
знайдемо залоговану помилку, а також вже знайому сторінку з
повідомленням про помилку (збережену як HTML-файл з назвою, що
починається на exception-
).
Знову закоментуємо рядок // $configurator->setDebugMode(false);
. Tracy
автоматично вмикає режим розробника на localhost і вимикає його
скрізь інде.
Помилку, яку ми створили, можемо виправити і продовжити писати програму.
Надішліть подяку
Ми покажемо вам трюк, яким ви порадуєте авторів open source. Простим способом ви поставите зірочку на GitHub бібліотекам, які використовує ваш проект. Достатньо запустити:
composer thanks
Спробуйте!