PHP ООП разработка — набор заданий для PHP-разработчика по использованию объектно-ориентированного подхода
Задание 1: PHP ООП
Повторите материал по ООП (https://www.youtube.com/playlist?list=PLOQDek48BpZGsfx_7Z6sofqF3YRtM-VC4), вспомните работу с пространствами имён (https://www.youtube.com/watch?v=UUDOjOXA-d8)
- Создайте класс Goods (свойства: title, manufactured, price, color; методы: show, export)
- Создайте класс GoodsCollection (свойство: collection; методы: show, push, add, item)
- Создайте файл autoload.php, которые будет заниматься автоподгрузкой существующих классов
- Создайте файл php3-task1.php — основной файл задания; создайте экземпляры классов и выведите товары на странице
-
[ [ "title" => "Lenovo Vibe Shot", "manufacturer" => "Lenovo", "price" => 9e3, "color" => "black"], [ "title" => "Apple iPhone 7 128GB", "manufacturer" => "Apple", "price" => 9e4, "color" => "white" ], [ "title" => "Samsung Galaxy S8", "manufacturer" => "Samsung", "price" => 5e4, "color" => "grey" ], [ "title" => "Lenovo P2", "manufacturer" => "Lenovo", "price" => 2e4, "color" => "grey" ], [ "title" => "Xiaomi Mi6 128GB", "manufacturer" => "Xiaomi", "price" => 7e3, "color" => "white" ], [ "title" => "Xiaomi Mi Note 3 64Gb", "manufacturer" => "Xiaomi", "price" => 2e4, "color" => "black" ], ]
- Использование пространства имён — обязательно
Задание 2: Работа с шаблонами
— найдите и изучите материал по шаблонам проектирования, в PHP в частности. Хороший материал есть в книге Мэтта Зандстры
— реализуйте два любых шаблона из предложенных:
Шаблон проектирование Абстрактная Фабрика (Abstract Fabric) https://www.youtube.com/watch?
Шаблон проектирования Стратегия (Strategy) https://www.youtube.com/watch?
Шаблон проектирования Фабричный метод (FactoryMethod) https://www.youtube.com/watch?
Шаблон проектирование Адаптер (Adapter) https://www.youtube.com/watch?
Шаблон проектирования Декоратор (Decorator) https://www.youtube.com/watch?
Шаблон проектирования Одиночка (Singleton) https://www.youtube.com/watch?
Задание 3: Знакомство с PHPDoc
— Снабдите phpdoc-комментариями все классы из предыдущего задание
— Сгенерируйте документацию при помощи Phpdoc
Задание 4: Парсинг
Нужно распарсить информацию о курсах с вот этой страницы https://www.specialist.ru/
Задание 5: MVC
Реализовать шаблон MVC на своих классах.
Задание 6: Класс для построения диаграмм
Задание 6. Напишите и задокументируйте класс для создания диаграмм «бубликов», как http://www.chartjs.org/
Задание 7: SOAP-сервис
Реализовать SOAP-сервис. Клиент должен отправлять запросы с названиями товара, цветом, производителем (из первого задания), а сервер должен возвращать ответ. Приложить к отчёту wsdl-файл.
Задание 8: Вспомогательные инструменты
Проверьте код любого класса одного из предыдущих заданий используя утилиты
— https://github.com/squizlabs/
— https://github.com/phpstan/
Задание 9: PHPUnit
- Познакомьтесь с PHPUnit. Создайте тестовый класс и набор тестов для своего класса (не менее 10 тестовых проверок).