Создайте свое первое приложение!
Познакомьтесь с фреймворком Nette, создав простой блог с комментариями. Давайте начнём!
После первых двух глав у вас будет свой собственный работающий блог, и вы будете готовы публиковать свои потрясающие посты, хотя после завершения этих двух глав возможности будут довольно ограничены. Чтобы пользователям было приятнее, вам также следует прочитать следующие главы и продолжать совершенствовать свое приложение.
Вы можете найти законченное приложение на GitHub.
Пожалуйста, установите полнофункциональную IDE и все необходимые плагины, это сделает вас чрезвычайно эффективным.
Это краткое руководство было написано для фреймворка Nette 3.1 и PHP 8.0 или более новой версии.
Можно загрузить фреймворк Nette вручную, но рекомендуемым способом запуска нового проекта является использование Composer. Если вы не знаете Composer, вам определенно стоит начать с него. Это действительно простой и полезный инструмент, ознакомьтесь с его документацией.
С помощью Composer вы можете легко загрузить и установить каркас
приложения, известный как Web Project, включая Nette Framework. Для этого найдите
ваш корневой каталог (например, /var/www
или C:\InetPub
) в
командной строке и выполните следующую команду:
composer create-project nette/web-project nette-blog
Веб-проект будет загружен в каталог nette-blog
.
Если вы не смогли использовать Composer, скачайте и распакуйте архив,
скопируйте его в корневой каталог веб-сервера и переименуйте в
nette-blog
. Весь фреймворк находится в папке vendor
.
Если вы разрабатываете на macOS или Linux (или любой другой системе на базе Unix), вам необходимо настроить права на запись на веб-сервере.
Приветственная страница
На данном этапе вы уже можете увидеть страницу приветствия веб-проекта. Попробуйте это сделать, открыв браузер и перейдя по следующему URL-адресу:
http://localhost/nette-blog/www/
и вы увидите страницу приветствия фреймворка:

Приложение работает, и теперь можно начать вносить в него изменения.
Если у вас возникли проблемы, попробуйте воспользоваться несколькими советами.
Содержание веб-проекта
Наш проект имеет следующую структуру:
nette-blog/ ├── app/ ← каталог приложения │ ├── Presenters/ ← классы презентеров │ │ └── templates/← шаблоны │ ├── Router/ ← конфигурация адресов URL │ └── Bootstrap.php ← загрузочный класс Bootstrap ├── bin/ ← скрипты для командной строки ├── config/ ← конфигурационные файлы ├── log/ ← журналы ошибок ├── temp/ ← временные файлы, кэш, … ├── vendor/ ← библиотеки, установленные через Composer │ └── autoload.php ← автозагрузка библиотек, установленных Composer └── www/ ← общая папка — единственное место, доступное из браузера └── index.php ← начальный файл, запускающий приложение
Каталог www
предназначен для хранения изображений, JavaScript, CSS и
других общедоступных файлов. Это единственный каталог, доступный
непосредственно из браузера, поэтому вы можете указать здесь корневой
каталог вашего веб-сервера (можно настроить его в Apache, но давайте
сделаем это позже, так как сейчас это не важно).
Наиболее важным каталогом для вас является app/
. Там можно найти
файл Bootstrap.php
, внутри которого находится класс, загружающий
фреймворк и конфигурирующий приложение. Он активирует автозагрузку и устанавливает отладчик и маршруты.
Очистка
Веб-проект содержит страницу приветствия, которую мы можем
удалить — смело замените содержимое файла
app/Presenters/templates/Homepage/default.latte
текстом Hello world!
.

Tracy (отладчик)
Чрезвычайно важным инструментом для разработки является отладчик под названием Tracy. Попробуйте сделать
несколько ошибок в вашем файле app/Presenters/HomepagePresenter.php
(например,
удалите фигурную скобку из определения класса HomepagePresenter) и посмотрите,
что произойдет. Появится страница с красным экраном и понятным
описанием ошибки.

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

В производственном режиме Tracy, разумеется, отключена и не раскрывает
никакой конфиденциальной информации. Все ошибки сохраняются в
директории log/
. Просто попробуйте. В файле app/Bootstrap.php
найдите следующий кусок кода, откомментируйте строку и измените
параметр вызова метода на false
, чтобы он выглядел следующим
образом:
...
$configurator->setDebugMode(false);
$configurator->enableTracy(__DIR__ . '/../log');
...
После обновления веб-страницы страница с красным экраном сменится удобным для пользователя сообщением:

Теперь загляните в каталог log/
. Вы можете найти там журнал
ошибок (в файле exception.log), а также страницу с сообщением об ошибке
(сохраненную в HTML-файле с именем, начинающимся с exception
).
Прокомментируйте строку // $configurator->setDebugMode(false);
ещё раз. Tracy
автоматически включает режим разработки в окружении localhost
и
отключает его в других местах.
Теперь мы можем исправить ошибку и продолжить разработку нашего приложения.
Отправьте спасибо
Мы покажем вам трюк, который порадует авторов открытых исходников. Вы можете легко присвоить звезду на GitHub библиотекам, которые использует ваш проект. Просто наберите в консоли:
composer thanks
Попробуйте!