Создание закрытой рабочей области пользователя
Стартовый проект панели управления предоставляет регистрацию, настройки учётной записи, долговременные личные заметки, состояние выполнения, постраничную навигацию и полезные счётчики. Каждая заметка принадлежит своему владельцу в базе данных.
Создание проекта
elang new workspace --starter=dashboard
cd workspace
php elang serve
Зарегистрируйте личную учётную запись, затем откройте /workspace. Добавьте заметку с заголовком и подробностями. Отметьте её выполненной или удалите с помощью предусмотренных форм.
Проследите одну запись данных
Запрос проходит middleware сессии, CSRF и аутентификации. Контроллер проверяет известные входные поля и устанавливает owner_id из аутентифицированного пользователя. Репозиторий записывает только поля модели, разрешённые для записи.
Чтение, переключение состояния и удаление ограничены owner_id. Переданное поле тела не может изменить принадлежность, а заметка другой учётной записи возвращается как ненайденная.
Проверка конфиденциальности
Создайте две учётные записи в отдельных сессиях браузера. Добавьте заметку в первой, затем попробуйте использовать её числовой ID во второй. Вторая учётная запись не должна читать или изменять её. Смена пароля аннулирует остальные сессии и отзывает API-токены.
Изучение структуры
Модель Note демонстрирует преобразования типов и разрешённые для записи поля. WorkspaceController демонстрирует репозитории с ограниченной областью выборки. Миграция демонстрирует внешний ключ, а шаблон — обычные HTML-формы с токенами CSRF. Studio показывает шаблоны запросов без тел запросов или привязанных значений SQL.
Настройте почту рабочей среды, HTTPS, права закрытого хранилища и резервные копии, прежде чем использовать стартовый проект для реального общего сервиса.