/test-php

Тестовое задание

Primary LanguagePHP

Тестовое задание

Требуется создать сайт с 2 страницами (главная и детальный обзор). На главной странице должны выводиться статьи из базы отсортированные по убыванию колонки «дата добавления». Всего 10 элементов содержащие: заголовок, краткое описание, кол-во просмотров. Левый сайдбар должен содержать в себе фильтры по: кол-ву просмотров, продукту к которому принадлежит статья, и дате добавления. В этом же блоке должен находиться выпадающий список для определения кол-ва выводимых статей (1,3,5,10,20). Подгрузка контента должна производиться без перезагрузки страницы, средствами js.

При клике на превью, должен выполняться переход на страницу полной статьи. Вывод колонок: заголовок, полный текст, дата добавления. При переходе на статью, счетчик просмотров в базе должен быть инкриминирован.

Технические составляющие: Требуется написать контроллер для статей используя ООП. Обязательно добавить метод для обновления статьи (он не должен использоваться, но существовать обязан). Если будет реализовано в стилистике MVC, будет большой плюс. В архиве имеются 2 файла формата JSON. Требуется написать класс для создания таблиц на основе их содержимого и использовать его для наполнения таблиц. Таблицы должны быть связаны между собой внешним ключом. Добавить необходимые индексы, как будто в таблице 1М записей. Верстка и дизайн сайта в свободной форме, но не использовать шаблон.

Требования: PHP, MySQL, Apache, браузер

Запуск

  1. Изменить данные для подключения к БД в app/core/db.php.
  2. Для создания таблиц и загрузки данных раскомментировать строчки в app/core/initDb.php.
  3. Заменить url до запущенного сервера в public/script.js.
  4. Открыть public/index.html