Пишем първото приложение!
Нека се запознаем заедно с 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 ← autoloading на всички инсталирани пакети └── www/ ← публична директория - единствената достъпна от браузъра └── index.php ← първоначален файл, чрез който се стартира приложението
Директорията www/
е предназначена за съхранение на изображения,
JavaScript файлове, CSS стилове и други публично достъпни файлове. Само тази
директория е достъпна от интернет, така че настройте коренната
директория на вашето приложение да сочи точно тук (това можете да
настроите в конфигурацията на Apache или nginx, но нека го направим по-късно,
сега не е важно).
Най-важната папка за нас е app/
. Тук намираме файла
Bootstrap.php
, в който има клас, който служи за зареждане на целия framework
и настройка на приложението. Тук се активира autoloading, настройва се дебъгер и маршрути.
Почистване
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 и го забранява
навсякъде другаде.
Можем да поправим грешката, която създадохме, и да продължим с писането на приложението.
Изпратете благодарност
Ще ви покажем трик, с който ще зарадвате авторите на софтуер с отворен код. По прост начин можете да дадете звездичка в GitHub на библиотеките, които вашият проект използва. Достатъчно е да стартирате:
composer thanks
Опитайте!