Задачи по PHP. Классы

Классы в PHP

php

перейти к содержанию задачника

  1. Написать класс init, от которого нельзя сделать наследника, состоящий из 3 методов: 1) create(), который доступен только для методов класса, создает таблицу test, содержащую 5 полей:
    id целое, автоинкрементарное
    script_name строковое, длиной 25 символов
    start_time целое
    end_time целое
    result один вариант из 'normal', 'illegal', 'failed', 'success'

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

  2. Есть REST service предприятия, со следующими URIs:
    a) www.megafirm-catalog.com/employees - возаращает массив id всех сотрудников
    b) www.megafirm-catalog.com/employee/{id}, где {id} - id сотрудника. Возаращает: name, bossId, departmentId
    c) www.megafirm-catalog.com/department/{id}, где {id} - id отдела. Возвращает: name, employeesCountУсловия:
    У каждого сотрудника есть босс (кроме одного сотрудника, который является самым большим боссом).Задание:
    а) Разработать структуру данных для описания предприятия, его отделов и сотрудников работающах там. (Применить принцип инкапсуляции)
    b) Разработать структуру данных (систему классов) предприятия.
    с) Заполнить структуру данных предприятия, исспользуя REST service.
    d) Вывести на экран всех сотрудников предприятия отсортированных по названиям (name) отделов в которых они работают.
    e) Реализовать возможность увольнения и перевода сотрудника в подчинение другому боссу (наиболее оптимальным способом)
    f) Вывести на экран всех сотрудников предприятия в иерархическом порядке (начиная с самого большого босса, далее его непосредственных подчиненных, потом подчиненных подчинненных и т.д. по иерархии)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *