# Неделя #2 Работа с данными из PHP. ООП и приемы работы в ООП стиле.
# Подготовка к выполнению задания
Изучить все материалы второй недели курса в Личном кабинете.
# Что нужно сделать?
# Выполнить домашнее задание #3
Задание выполняется в двух файлах. Файл src/functions.php содержит все функции. Функции именуются task1, task2, task3, с маленькой буквы, слитно. Файл с именем index.php содержит require(src/‘functions.php’); и вызов всех функций.
Задание #3.1
- Программно создайте массив из 50 пользователей, у каждого пользователя есть поля
id,nameиage:
id- уникальный идентификатор, равен номеру эл-та в массивеname- случайное имя из 5-ти возможных (сами придумайте каких)age- случайное число от 18 до 45
- Преобразуйте массив в json и сохраните в файл
users.json - Откройте файл
users.jsonи преобразуйте данные из него обратно ассоциативный массив РНР. - Посчитайте количество пользователей с каждым именем в массиве
- Посчитайте средний возраст пользователей
Задание выполняется в отдельном проекте.
Задача #3.2
Скачайте верстку сайта “Бургерная”
Внизу вы найдете форму заказа, напишите скрипт, обрабатывающий эту форму. Скрипт должен:
Проверить, существует ли уже пользователь с таким email, если нет - создать его, если да - увеличить число заказов по этому email. Двух пользователей с одинаковым email быть не может.
Сохранить данные заказа - id пользователя, сделавшего заказ, дату заказа, полный адрес клиента.
Скрипт должен вывести пользователю:
Спасибо, ваш заказ будет доставлен по адресу: “тут адрес клиента”
Номер вашего заказа: #ID
Это ваш n-й заказ!
Где ID - уникальный идентификатор только что созданного заказа n - общий кол-во заказов, который сделал пользователь с этим email включая текущий
Оформление не требуется, достаточно текста на белом фоне, отбитого переходами строк.
# Выполнить домашнее задание #4
Задание #4.1. Практика с ООП
Представьте, что вы создаете сайт для компании сдающих автомобили поминутно (каршеринг). У компании есть ряд тарифов. Вам необходимо реализовать каждый тариф в своем классе. У каждого тарифа две основные характеристики - цена за 1 км, цена за 1 минуту. Каждый тариф обязан иметь метод для подсчета цены поездки. В некоторых тарифах возможно использование дополнительных услуг. Ваша задача - посчитать цену, которую получит пользователь, если проедет Х км и Y минут по тарифу Z.
Тариф базовый
- Цена за 1 км = 10 рублей
- Цена за 1 минуту = 3 рубля
Тариф почасовой
- Цена за 1 км = 0
- Цена за 60 минут = 200 рублей
- Округление до 60 минут в большую сторону
Тариф студенческий
- Цена за 1 км = 4 рубля
- Цена за 1 минуту = 1 рубль
Дополнительные услуги (трейты):
Gpsв салон - 15 рублей в час, минимум 1 час. Округление в большую сторону- Дополнительный водитель - 100 рублей единоразово
Ожидаемая реализация:
- Создать интерфейс, который будет содержать описание метода подсчета цены, метода добавления услуги (принимает на вход интерфейс услуги)
- Описать интерфейс доп. услуги, который содержит метод применения услуги к тарифу, который пересчитывает цену в зависимости от особенностей услуги
- Реализовать абстрактный класс тарифа, который будет описывать основные методы и имплементировать описанный в п.1 интерфейс
- Все тарифы должны наследоваться от абстрактного тарифа из п.2
- Описать 2 услуги реализовав интерфейс услуг
Пример вызова:
1. Тариф базовый(5 км, 1 час)
- добавить услугу GPS
= 5км * 10 руб / км + 60 мин * 3 руб / мин + 15 руб / час * 1 час = 50 + 180 + 15 = 245
Отправьте выполненое ДЗ на проверку наставнику
Дедлайн: Понедельник в 12.00.
# Как всё успеть?
Данный план является примерным ориентиром. Вы всегда можете работать в удобном для себя темпе.
# 🗓 Понедельник
Отправляем домашнее задание 2 на проверку наставнику
Изучаем материалы видеокурса "Работа с данными из PHP"
Приступаем к выполнению домашнего задания 3
# 🗓 Вторник
Продолжаем изучать материалы видеокурса "Работа с данными из PHP"
Работаем над домашним заданием 3
# 🗓 Среда
Работаем над домашним заданием 3
Изучаем материалы видеокурса "ООП и приемы работы в ООП стиле"
# 🗓 Четверг
Изучаем материалы по теме "ООП и приемы работы в ООП стиле"
Подготовьте вопросы и запишитесь на консультацию к наставнику (тариф "Уютный")
# 🗓 Пятница
Продолжаем изучать материалы видеокурса "ООП и приемы работы в ООП стиле"
Работаем над домашним заданием 4
# 🗓 Суббота
Изучаем материалы Workshop
Работаем над домашним заданием 4
# 🗓 Воскресенье
Доделываем домашнее задание 4
Отдыхаем