#Требования
Задачи необходимо выложить на 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-мя и более со-авторами (то есть получить отчет «книга — количество соавторов»).
##Решение
-
Установи Docker и docker-compose
https://docs.docker.com/install/
https://docs.docker.com/compose/install/ -
Установи git
sudo apt update
sudo apt install git
- Склонируй проект на свой компьютер
git clone https://github.com/matvey151/testTask.git
- Запусти
docker-compose -f dc-local.yml up -d
- Запустить код можно по адресу:
Задача1: /part1/index.php, Задача2: /part2/index.php, Задача3: /part3/index.php