#Требования

Задачи необходимо выложить на GitHub. Каждая задача должна запускаться на базе docker контейнера. Вся необходимая для запуска задач среда должна развертываться с помощью docker-compose. К каждой задаче должен быть приложен README файл, в котором должно быть четко прописаны инструкции по запуску.

##Задача 1

Написать класс init, от которого нельзя сделать наследника, состоящий из 3 методов:

create() - доступен только для методов класса, создает таблицу test, содержащую 5 полей:

  • id целое, автоинкрементарное;

  • script_name строковое, длиной 25 символов;

  • start_time timestamp с автозаполнением;

  • sort_index целое (значения не превышают 3-х разрядов);

  • result один вариант из 'normal', 'illegal', 'failed', 'success';

fill() - доступен только для методов класса, заполняет таблицу случайными данными;

get() - доступен извне класса, выбирает из таблицы test, данные по критерию: result среди значений 'normal' и 'success'. В конструкторе выполняются методы create и fill.

Весь код должен быть прокомментирован в стиле PHPDocumentor'а.

##Задача 2

Создать скрипт, который в папке /datafiles найдет все файлы, имена которых состоят из цифр и букв латинского алфавита, имеют расширение ixt и выведет на экран имена этих файлов, упорядоченных по имени. Задание должно быть выполнено с использованием регулярных выражений. Весь код должен быть прокомментирован в стиле PHPDocumentor'а.

##Задача 3

Нужно хранить свою библиотеку в БД. Хранятся только названия книг и авторы. У одной книги может быть несколько авторов, у одного автора может быть несколько книг. Предложите структуру таблиц и напишите SQL запрос получающий список книг, которые написаны 3-мя и более со-авторами (то есть получить отчет «книга — количество соавторов»).

##Решение

Подготовка нового сервера (на примере Ubuntu)

  1. Установи Docker и docker-compose
    https://docs.docker.com/install/
    https://docs.docker.com/compose/install/

  2. Установи git

sudo apt update
sudo apt install git
  1. Склонируй проект на свой компьютер
git clone https://github.com/matvey151/testTask.git
  1. Запусти
docker-compose -f dc-local.yml up -d
  1. Запустить код можно по адресу:
    Задача1: /part1/index.php, Задача2: /part2/index.php, Задача3: /part3/index.php