Warning
С прошлого (2024/25) года задание лабораторной работы №1 изменилось, и теперь этот репозиторий не актуален. В rmntim/ITMO можно найти пример выполненной ЛР для текущего задания, а также гайд по ЛР1 и видео-туториал по деплою.
PHP doesn't suck (anymore)?!!
| .docx | |
|---|---|
| report | report |
Разработать PHP-скрипт, определяющий попадание точки на координатной плоскости в заданную область, и создать HTML-страницу, которая формирует данные для отправки их на обработку этому скрипту.
Параметр R и координаты точки должны передаваться скрипту посредством HTTP-запроса. Скрипт должен выполнять валидацию данных и возвращать HTML-страницу с таблицей, содержащей полученные параметры и результат вычислений - факт попадания или непопадания точки в область. Предыдущие результаты должны сохраняться между запросами и отображаться в таблице.
Кроме того, ответ должен содержать данные о текущем времени и времени работы скрипта.
- Для расположения текстовых и графических элементов необходимо использовать табличную верстку.
- Данные формы должны передаваться на обработку посредством GET-запроса.
- Таблицы стилей должны располагаться в отдельных файлах.
- При работе с CSS должно быть продемонстрировано использование селекторов дочерних элементов, селекторов элементов, селекторов потомств, селекторов псевдоклассов а также такие свойства стилей CSS, как наследование и каскадирование.
- HTML-страница должна иметь "шапку", содержащую ФИО студента, номер группы и номер варианта. При оформлении шапки необходимо явным образом задать шрифт (fantasy), его цвет и размер в каскадной таблице стилей.
- Отступы элементов ввода должны задаваться в пикселях.
- Страница должна содержать сценарий на языке JavaScript, осуществляющий валидацию значений, вводимых пользователем в поля формы. Любые некорректные значения (например, буквы в координатах точки или отрицательный радиус) должны блокироваться.
- Протокол
HTTP. Структура запросов и ответов, методы запросов, коды ответов сервера, заголовки запросов и ответов. - Язык разметки
HTML. Особенности, основные теги и атрибуты тегов. - Структура HTML-страницы. Объектная модель документа (
DOM). HTML-формы. Задание метода HTTP-запроса. Правила размещения форм на страницах, виды полей ввода.- Каскадные таблицы стилей (
CSS). Структура - правила, селекторы. Виды селекторов, особенности их применения. Приоритеты правил. Преимущества CSS перед непосредственным заданием стилей через атрибуты тегов. LESS,Sass,SCSS. Ключевые особенности, сравнительные характеристики. Совместимость с браузерами, трансляция в "обычный" CSS.- Клиентские сценарии. Особенности, сферы применения. Язык
JavaScript. - Версии
ECMAScript, новые возможностиES6иES7. - Синхронная и асинхронная обработка HTTP-запросов.
AJAX. - Библиотека
jQuery. Назначение, основные API. Использование для реализации AJAX и работы с DOM. - Реализация AJAX с помощью
SuperAgent. - Серверные сценарии.
CGI- определение, назначение, ключевые особенности. FastCGI- особенности технологии, преимущества и недостатки относительно CGI.- Язык
PHP- синтаксис, типы данных, встраивание в веб-страницы, правила обработки HTTP-запросов. Особенности реализации принципов ООП в PHP.
php -S localhost:3000 -t src, чтобы запустить лабораторную на http://localhost:3000.
Гайд по деплою на helios.
Используйте
composer install
vendor/bin/phpunit tests
чтобы запустить тесты.
Проект доступен с открытым исходным кодом на условиях Лицензии MIT. Авторские права 2023 Max Barsukov
Поставьте звезду ⭐, если вы нашли этот проект полезным.

