Написать класс init, от которого нельзя сделать наследника, состоящий из 3 методов:
- доступен только для методов класса.
- создает таблицу test, содержащую 5 полей:
- id • целое, автоинкрементарное
- script_name • строковое, длиной 25 символов
- start_time • целое
- end_time • целое
- result • один вариант из 'normal', 'illegal', 'failed', 'success'
- доступен только для методов класса
- заполняет таблицу случайными данными
- доступен извне класса
- выбирает из таблицы test, данные по критерию: result среди значений 'normal' и 'success'
В конструкторе выполняются методы create и fill
Задание должно быть выполнено с обработкой исключений. Весь код должен быть прокомментирован в стиле PHPDocumentor'а.
Знания MySQL + оптимизировать запросы
Имеется 3 таблицы: info, data, link, есть запрос для получения данных:
select * from data,link,info where link.info_id = info.id and link.data_id = data.idпредложить варианты оптимизации:
- таблиц
- запроса.
Запросы для создания таблиц:
CREATE TABLE `info` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) default NULL,
`desc` text default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `data` (
`id` int(11) NOT NULL auto_increment,
`date` date default NULL,
`value` INT(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `link` (
`data_id` int(11) NOT NULL,
`info_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;Создать класс, методы которого в папке /datafiles найдут все файлы, имена которых состоят из цифр и букв латинского алфавита, имеют расширение ixt и выведет на экран имена этих файлов, упорядоченных по имени.
Задание должно быть выполнено с использованием регулярных выражений. Весь код должен быть прокомментирован в стиле PHPDocumentor'а.