Создайте своё первое приложение!
Познакомьтесь с 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
├── assets/ ← исходные ресурсы (SCSS, TypeScript, исходные изображения)
├── bin/ ← скрипты для командной строки
├── config/ ← конфигурационные файлы
├── log/ ← логи ошибок
├── temp/ ← временные файлы, кеш, …
├── vendor/ ← библиотеки, установленные Composer
│ └── autoload.php ← автозагрузка всех установленных пакетов
└── www/ ← публичная папка, единственное место, доступное из браузера
├── assets/ ← скомпилированные статические файлы (CSS, JS, изображения, …)
└── index.php ← начальный файл, запускающий приложение
Каталог www/ предназначен для хранения изображений, файлов
JavaScript, стилей CSS и прочих публично доступных файлов. Это единственный
каталог, доступный напрямую из интернета, так что задайте document root
вашего веб-сервера так, чтобы он указывал сюда (настроить это можно в
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);
После обновления страницы красного экрана вы уже не увидите. Вместо него отобразится понятное пользователю сообщение:

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