Темы рефератов по дисциплине «Разработка веб-приложений (PHP)»
Веб-разработка, PHP, базы данных, инфраструктура и общие вопросы
-
Веб-приложения: понятие веб-приложения и его место в современной информационной системе. Рассмотреть отличие веб-приложения от статического сайта, серверной программы и настольного приложения.
-
Принципы работы клиент-серверной архитектуры веб-приложений. Клиент, сервер, веб-сервер, сервер приложений, база данных, сетевое взаимодействие и распределение ответственности между компонентами.
-
Жизненный цикл HTTP-запроса в веб-приложении. Формирование запроса браузером, DNS и сетевое соединение, HTTP, обработка веб-сервером и PHP-приложением, обращение к БД, формирование и возврат ответа.
-
PHP: назначение языка и его роль в создании серверной части веб-приложений. Основные сценарии использования PHP и место PHP в современном веб-стеке.
-
Особенности синтаксиса PHP и встраивание PHP в HTML. PHP-теги, выражения, переменные, операции, управляющие конструкции, функции и формирование динамического HTML.
-
Современный PHP 8.5: новые возможности языка и их значение для разработки веб-приложений. Рассмотреть pipe-оператор, атрибуты и другие актуальные изменения PHP 8.5. [5]
-
Система типов PHP. Скалярные, составные и специальные типы, строгая типизация, типы параметров и возвращаемых значений, nullable-, union- и intersection-типы.
-
Функции, замыкания и first-class callables в PHP. Области видимости, анонимные функции, стрелочные функции, callbacks и функциональные приемы программирования.
-
Ошибки и исключения в PHP. Иерархия Throwable, Exception и Error, обработка исключений, собственные исключения и стратегия обработки ошибок веб-приложения.
-
Пространства имен PHP и организация крупного PHP-проекта. Назначение namespaces, импорт классов, разрешение имен и организация исходного кода.
-
Классы в PHP: синтаксис объявления классов и создание объектов. Свойства, методы, экземпляры классов и объектная модель PHP.
-
Конструкторы, деструкторы и constructor property promotion в PHP. Инициализация состояния объекта и современные способы объявления зависимостей и свойств.
-
Модификаторы доступа и статические члены классов PHP. public, protected, private, static, константы классов и область применения статического состояния.
-
Наследование, абстрактные классы, интерфейсы и traits в PHP. Повторное использование кода, полиморфизм и проектирование контрактов.
-
Современные объектно-ориентированные возможности PHP: attributes, enums, readonly, property hooks, lazy objects и другие механизмы. Их назначение и использование во фреймворках. [6]
-
Установка и настройка веб-сервера для PHP-приложения. Назначение веб-сервера, обработка динамических запросов, document root, виртуальные хосты и передача запросов PHP.
-
Apache HTTP Server для PHP-приложений. Установка, конфигурационные файлы, virtual hosts, URL rewriting, безопасность, журналы и подключение PHP/FastCGI. [7]
-
Nginx и PHP-FPM. Настройка FastCGI, fastcgi_pass, SCRIPT_FILENAME, front controller, статические ресурсы, журналирование и производительность. [8]
-
Установка PHP в различных операционных системах. Windows, Linux и macOS; CLI и FPM; выбор версии; подключение необходимых расширений.
-
Файл php.ini и конфигурирование PHP. Настройки разработки и production, ограничения ресурсов, загрузка файлов, журналирование ошибок, расширения и безопасность.
-
Введение в Composer: назначение менеджера зависимостей PHP. Пакеты, зависимости, репозитории и жизненный цикл управления библиотеками.
-
Структура файла composer.json. require, require-dev, autoload, scripts, config, version constraints и метаданные проекта.
-
Composer install, update и composer.lock. Воспроизводимые сборки, обновление зависимостей и различие между разработкой и production.
-
Автозагрузка классов Composer и PSR-4. Пространства имен, каталоги исходного кода, vendor/autoload.php и отказ от ручных require.
-
Безопасность и современные практики Composer. Контроль Composer plugins, проверка зависимостей, аудит известных уязвимостей и безопасное управление пакетами. Официальная конфигурация Composer предусматривает, среди прочего, политики allow-plugins и механизм аудита зависимостей. [9]
-
Создание и настройка PHP-проекта с использованием Composer. composer init, подключение библиотек, настройка PSR-4 и формирование стартовой структуры приложения.
-
Современная структура PHP-проекта. public, src, config, templates, tests, var, vendor, front controller и разделение публичных и непубличных файлов.
-
Конфигурация приложения и управление секретами. Переменные среды, .env, учетные данные БД, API-ключи и запрет хранения секретов в исходном коде.
-
Создание простейшего PHP-проекта через Composer и запуск его на настроенном веб-сервере. Полный путь от пустого каталога до обработки HTTP-запроса.
-
Лучшие практики и рекомендации по настройке PHP-окружения. Типовые ошибки, управление зависимостями, структура проекта, безопасность и разделение development/production.
-
Особенности работы с базами данных в PHP. Реляционные СУБД, драйверы PHP, соединение, запросы, результирующие наборы и транзакции.
-
Реляционная модель и SQL как основа серверного PHP-приложения. Таблицы, ключи, связи, ограничения и CRUD-операции.
-
Расширение MySQLi: процедурный и объектно-ориентированный подходы. Архитектура расширения и сравнение двух вариантов API. [10]
-
MySQLi: установка соединения, выполнение запросов и обработка результатов. Кодировка соединения, ошибки, выборки и изменение данных.
-
Подготовленные выражения MySQLi. prepare, bind_param, execute, повторное выполнение запросов и защита от SQL-инъекций. Официальное руководство PHP прямо рассматривает prepared statements как механизм параметризации и защиты от SQL injection. [11]
-
PDO: подключение к базе данных и базовые операции. DSN, объект PDO, режимы обработки ошибок и выполнение SQL. [12]
-
PDO: подготовленные выражения, именованные и позиционные параметры. Безопасное выполнение запросов и обработка результата.
-
Унификация доступа к различным СУБД с помощью PDO. Драйверы, переносимость приложения и ограничения абстракции.
-
Транзакции в PHP-приложениях. beginTransaction, commit, rollback, атомарность бизнес-операций и обработка сбоев.
-
Обработка ошибок БД и проектирование слоя доступа к данным. Исключения, журналирование, недопустимость вывода технических сообщений пользователю.
-
SQL-инъекции: причины возникновения и защита PHP-приложений. Параметризованные запросы, динамический SQL и границы возможностей escaping.
-
Сеансы и cookies в PHP. Создание сессии, session ID, cookie-параметры, хранение состояния и жизненный цикл пользовательского сеанса.
-
Аутентификация пользователей в PHP-приложении. Регистрация, вход, выход, идентификация пользователя и хранение состояния аутентификации.
-
Безопасное хранение паролей в PHP. Хеширование, проверка пароля, обновление параметров хеширования и недопустимость хранения паролей в открытом виде.
-
Разработка безопасных веб-приложений на PHP. XSS, CSRF, session fixation, SQL injection, управление доступом, обработка пользовательского ввода и безопасная конфигурация.
-
Загрузка и обработка файлов в PHP. Multipart-запросы, ограничения размера, проверка типа, безопасные имена файлов и хранение пользовательского контента.
-
RESTful API: архитектурные принципы и ресурсы. URI ресурсов, представления, stateless-взаимодействие и разделение клиента и сервера.
-
HTTP-методы и статус-коды в REST API. GET, POST, PUT, PATCH, DELETE, идемпотентность, успешные ответы и ошибки.
-
JSON в PHP и проектирование форматов API. Кодирование и декодирование, DTO, сериализация, структура ответа и представление ошибок.
-
MVC как основа PHP-фреймворков. Model, View и Controller, разделение ответственности и прохождение запроса через MVC-приложение.
-
Разработка web-приложений на базе фреймворков: преимущества перед написанием на «чистом» PHP. Маршрутизация, контейнер зависимостей, ORM, безопасность, шаблоны, тестирование и сопровождение.
-
Сравнение Symfony, Laravel и CodeIgniter по архитектуре и назначению. Общие и различающиеся подходы к MVC, компонентности, конфигурации и соглашениям.
-
CodeIgniter как PHP-фреймворк. Структура приложения, MVC, маршрутизация, контроллеры, модели, БД, validation, security, sessions и deployment. Актуальная документация CodeIgniter 4.7.x включает эти подсистемы и RESTful Resource Handling. [13]
-
Сравнение и выбор PHP-фреймворков по критериям производительности, экосистемы, порога входа и назначения. Symfony, Laravel, CodeIgniter и разработка без full-stack framework.
-
Развертывание PHP-веб-приложения на сервере или хостинге. PHP-FPM, веб-сервер, document root, зависимости, конфигурация среды и права доступа.
-
Подготовка PHP-проекта к production. Оптимизация Composer autoload, PHP OPcache, отключение отладочного режима, кэширование и минимизация dev-зависимостей.
-
Production-веб-сервер: HTTPS, безопасность, журналирование и мониторинг. Роль Apache/Nginx, TLS, права файлов, security headers и логи.
-
Тестирование, отладка и журналирование PHP-веб-приложений. Unit-, integration- и HTTP-тесты, разделение пользовательских и диагностических ошибок.
-
Экономическое обоснование выбора технологии разработки веб-приложения. Стоимость разработки и сопровождения, стоимость владения, квалификация команды, инфраструктура, vendor lock-in и применение подходов УК-10.
-
Создание, модификация и сопровождение информационных систем, автоматизирующих задачи организационного управления и бизнес-процессы. Архитектура ИС, операционные системы, сетевые протоколы и программирование как реализация компетенции ПК-1.
Symfony
Этот блок целиком посвящен внутреннему устройству и возможностям Symfony. Текущая официальная документация Symfony охватывает Request/Response и Kernel, Service Container, Dependency Injection, Events, Doctrine, Forms, Sessions, Cache, Console, Validation, Messenger, Scheduler, Serializer, Security, AssetMapper, Symfony UX, HTTP Client, Filesystem, Locks, Workflow, Webhooks, deployment, performance и тестирование. [14]
Doctrine вынесен в отдельный подробный подблок: современная документация Doctrine ORM охватывает entities, associations, inheritance, EntityManager, QueryBuilder, DQL, transactions, concurrency, caching и внутреннюю архитектуру ORM. [15]
-
Введение в фреймворк Symfony: назначение, архитектура и ключевые компоненты. Full-stack framework, независимые Symfony Components, FrameworkBundle, bundles и взаимодействие компонентов.
-
Установка Symfony через Symfony CLI и Composer. Symfony Flex, recipes и packs. Создание типового проекта, установка пакетов и базовые консольные команды. [16]
-
Архитектура Symfony и жизненный цикл HTTP-запроса. Front controller, Kernel, HttpKernel, Request, event dispatching, Controller Resolver и формирование Response.
-
Конфигурация Symfony-проекта. Структура каталогов, config/packages, environment, .env, secrets, конфигурация bundles и разделение dev/test/prod.
-
Маршруты в Symfony. Определение маршрутов с помощью PHP attributes, YAML и PHP-конфигурации, параметры, требования, имена маршрутов и генерация URL.
-
Контроллеры в Symfony. Создание контроллеров, аргументы action-методов, dependency injection, AbstractController и возврат объектов Response.
-
HttpFoundation в Symfony: Request и Response. Query parameters, request body, headers, cookies, files, redirects, JSON-, file- и streamed-responses.
-
Шаблоны и Twig в Symfony: синтаксис шаблонизатора. Переменные, выражения, условия, циклы, вывод данных и взаимодействие контроллера с представлением.
-
Наследование Twig-шаблонов. extends, block, include, композиция шаблонов, layouts и формирование общей структуры сайта.
-
Twig: фильтры, функции, tests, macros и расширения. Создание повторно используемых элементов представления и собственных Twig extensions.
-
Безопасность Twig. Automatic escaping, контекстное экранирование, raw, доверенные и недоверенные данные, Twig Sandbox. В Twig автоматическое HTML-экранирование предусмотрено как штатный механизм. [17]
-
Формы в Symfony: Form Component и FormBuilder. Form Types, поля, DTO/entities, построение и рендеринг форм.
-
Обработка Symfony Forms. Привязка HTTP-запроса, преобразование данных, Data Transformers, form events, ошибки и сохранение результата.
-
Валидация в Symfony. Validator Component, constraints, PHP attributes, validation groups, собственные validators и интеграция с формами.
-
Doctrine ORM в Symfony: конфигурация подключения к базе данных. DoctrineBundle, DATABASE_URL, EntityManager и базовый цикл работы ORM.
-
Сущности Doctrine. Mapping полей и идентификаторов, PHP attributes, типы данных, value objects и проектирование persistent model.
-
Внутреннее устройство Doctrine ORM: EntityManager, Unit of Work и identity map. Состояния сущностей, persist, flush, dirty checking и синхронизация объектной модели с БД.
-
Репозитории Doctrine, DQL и QueryBuilder. Получение сущностей, пользовательские repository methods и построение сложных запросов.
-
Связи сущностей Doctrine. One-to-One, One-to-Many, Many-to-One, Many-to-Many, owning/inverse side, cascade и orphan removal.
-
Doctrine Migrations. Изменение схемы БД, генерация и выполнение миграций, миграции в командной разработке и production.
-
Транзакции и конкурентный доступ в Doctrine. Transaction boundaries, locking, consistency и обработка конфликтов.
-
Аутентификация и авторизация в Symfony: общая архитектура Security Component. Users, user providers, firewalls и security configuration. [18]
-
Аутентификация пользователей в Symfony. Authenticators, login form, logout, получение текущего пользователя и обработка успешной и неуспешной аутентификации.
-
Пароли в Symfony. Password hashers, создание пользователя, проверка пароля и обновление хешей.
-
Авторизация в Symfony. Roles, role hierarchy, access_control, IsGranted и программная проверка полномочий.
-
Symfony Voters. Предметная авторизация доступа к объектам и реализация сложных бизнес-правил безопасности.
-
Сеансы и CSRF-защита в Symfony. Session Component, session storage, flash messages, CSRF tokens и защита форм аутентификации.
-
Сервисы и зависимости в Symfony: Service Container. Регистрация сервисов, service definitions, интерфейсы и инверсия управления.
-
Dependency Injection в Symfony: autowiring и autoconfiguration. Constructor injection, interface aliases и автоматическое обнаружение сервисов.
-
Расширенные возможности контейнера Symfony. Service tags, decorators, aliases, factories, lazy services, service subscribers и environment processors.
-
Events в Symfony. EventDispatcher, listeners, subscribers, встроенные события Kernel и расширение поведения приложения без жестких зависимостей.
-
Symfony Console. Создание команд, аргументы и опции, ввод/вывод, dependency injection и автоматизация административных операций.
-
Serializer Component в Symfony. Normalizers, encoders, serialization groups, object-to-JSON и JSON-to-object, контексты сериализации.
-
Создание REST API в Symfony современными штатными средствами. Routing, контроллеры, DTO, Serializer, Validator, JSON Response, HTTP status codes и обработка ошибок.
-
MapRequestPayload, MapQueryString, MapQueryParameter и Value Resolvers в Symfony API. Автоматическое преобразование входных HTTP-данных в типизированные объекты. [19]
-
FOSRestBundle: применение Symfony для построения REST API. View layer, listeners, формат ответа и обработка исключений; сопоставить подход рабочей программы с современным нативным API Symfony. FOSRestBundle продолжает документироваться как набор инструментов для REST-приложений; последняя найденная официальная release-страница указывает версию 3.8.0. [20]
-
NelmioApiDocBundle и документирование REST API. OpenAPI, описание маршрутов, моделей, query parameters и request body, генерация интерактивной документации. [21]
-
API Platform в экосистеме Symfony. Resource-oriented API, автоматизация CRUD API, сериализация, validation, OpenAPI и сопоставление с ручной разработкой контроллеров.
-
Работа с файлами в Symfony. UploadedFile, проверка загружаемых файлов, безопасное формирование имен, хранение и контролируемая раздача.
-
Flysystem в Symfony-приложениях. Абстракция файлового хранилища, локальные и объектные хранилища, streams, visibility и работа с S3-подобными системами. [22]
-
Работа с изображениями и медиаконтентом в Symfony. Entity для метаданных, загрузка, хранение, обработка изображений, thumbnails, удаление и привязка media к бизнес-сущностям.
-
Cache Component в Symfony. Cache pools, adapters, cache keys, invalidation, stampede protection и применение к производительности веб-приложения.
-
Symfony Messenger. Messages, handlers, message bus, синхронная и асинхронная обработка, transports, retries и очереди фоновых задач.
-
Symfony Scheduler. Планируемые задачи, периодическое выполнение процессов и отличие scheduler-задач от asynchronous messages.
-
Symfony HTTP Client. HTTP-запросы к внешним API, обработка ответов, retries, streaming и интеграция сторонних сервисов.
-
Symfony Mailer и Notifier. Отправка электронной почты и уведомлений, transports, шаблоны, асинхронная доставка и notification channels.
-
Rate Limiter и Lock в Symfony. Ограничение частоты запросов и координация конкурентного доступа к общим ресурсам.
-
Workflow, Webhook и Mercure в Symfony. Состояния бизнес-процессов, входящие webhook-события и push/real-time доставка обновлений клиентам.
-
Логирование, Profiler и отладка Symfony-приложений. Monolog, Web Profiler, Debug Toolbar, трассировка запросов и поиск проблем производительности.
-
Тестирование Symfony-приложений. Unit-, integration-, functional- и HTTP-тестирование, тестовый контейнер, client и проверка ответов.
-
Frontend в современном Symfony: AssetMapper, Symfony UX и Stimulus. Управление CSS/JavaScript, import maps, progressive enhancement и связь PHP-приложения с frontend.
-
Производительность Symfony. Кэширование контейнера и маршрутов, HTTP Cache, OPcache, Composer optimized autoloader и анализ производительности.
-
Развертывание Symfony-приложения в production. Установка production dependencies, env/secrets, миграции, cache warmup, права каталогов, web server, workers и автоматизация deployment.
-
«Основы Symfony»: установка, проект, маршруты, контроллеры, ответ и отладка. Комплексный реферат строго по практической работе 6.1 рабочей программы.
-
«Шаблоны и представления в Symfony»: создание иерархии Twig-шаблонов, блочное наследование и встраивание данных из контроллеров. Комплексный реферат по практической работе 6.2.
-
«Работа с базами данных в Symfony»: создание миграций, определение сущностей и отношений Doctrine, построение запросов и вывод данных в представлениях. Комплексный реферат по практической работе 6.3.
-
«Формы и аутентификация в Symfony»: реализация регистрации и входа пользователей с помощью форм, валидации и настройки аутентификации. Комплексный реферат по практической работе 6.4.
-
«Сервисы и зависимости в Symfony»: создание собственных сервисов, внедрение их в контроллеры и использование конфигурации services.yaml. Комплексный реферат по практической работе 6.5.
-
«REST API в Symfony»: установка FOSRestBundle и NelmioApiDocBundle; настройка FOSRestBundle; создание контроллера; создание сущности; тестирование REST API; документация REST API. Дополнительно сопоставить этот предусмотренный программой стек с Serializer, Validator, MapRequestPayload и современным OpenAPI.
-
«Работа с медиа-контентом в Symfony»: установка необходимых пакетов; создание сущности Image; создание формы загрузки изображений; создание контроллера для работы с изображениями; создание шаблонов; тестирование приложения.
Laravel
Блок Laravel расширяет предусмотренный раздел «Сравнение и выбор фреймворков» до самостоятельного полного изучения конкурирующего современного PHP-фреймворка. Это оправдано самой структурой актуальной официальной документации Laravel 13: она выделяет архитектуру приложения, request lifecycle, service container, service providers, facades, routing, middleware, controllers, Blade, queues, broadcasting, database, Eloquent ORM, security, testing и большую экосистему официальных пакетов. [23]
Отдельно учтены изменения Laravel 13: официальные release notes выделяют AI SDK, JSON:API Resources и другие новые API, а официальная документация Laravel прямо включает разделы AI SDK, MCP и Boost. [3]
-
Laravel 13: назначение фреймворка, архитектурная философия и место в современной PHP-разработке. Full-stack и API backend сценарии, conventions и структура экосистемы. [24]
-
Внутренний жизненный цикл HTTP-запроса в Laravel. Entry point, bootstrap приложения, Service Container, providers, middleware pipeline, router, controller и возврат HTTP-response.
-
Структура Laravel-проекта и конфигурация приложения. app, bootstrap, config, database, public, resources, routes, storage, tests, environment configuration и .env.
-
Service Container Laravel. Binding, singleton, scoped services, automatic injection, contextual binding, tagged services и разрешение зависимостей.
-
Service Providers Laravel. Методы register и boot, регистрация сервисов, bootstrapping подсистем и роль providers в архитектуре приложения.
-
Facades в Laravel. Механизм facade proxy, связь с Service Container, тестируемость и отличие facade от обычного статического API.
-
Routing в Laravel. Маршруты, параметры, named routes, route groups, route model binding, resource routes, API routes и route caching.
-
Controllers в Laravel. Обычные и single-action controllers, resource controllers, dependency injection, middleware и controller attributes. [25]
-
Middleware pipeline Laravel. Global middleware, groups, aliases, parameters и обработка запроса до и после выполнения приложения.
-
HTTP Request в Laravel. Получение input, query parameters, headers, cookies, JSON, uploaded files, content negotiation и dependency injection объекта Request.
-
HTTP Responses в Laravel. Response, JSON, redirects, downloads, streams, response headers и формирование API-ответов.
-
URL Generation в Laravel. Named routes, controller actions, signed URLs и временно подписанные ссылки.
-
Sessions и Cookies в Laravel. Session stores, flash data, session ID, cookie encryption и работа с состоянием пользователя.
-
CSRF Protection и CORS в Laravel. CSRF tokens, middleware, SPA/API сценарии и разграничение межсайтовых запросов.
-
Validation в Laravel. Validator, validation rules, Form Requests, nested data, custom rules и формирование ошибок validation.
-
Error Handling в Laravel. Exceptions, rendering, reporting, HTTP errors, production behavior и создание прикладной стратегии обработки исключений.
-
Logging и Context в Laravel. Log channels, stacks, contextual information, correlation данных и диагностирование распределенных запросов.
-
Blade Templates. Синтаксис Blade, directives, escaped output, условия, циклы и безопасный вывод данных.
-
Blade Layouts и Components. Наследование layouts, sections, reusable components, slots, anonymous components и организация представлений.
-
Frontend-архитектура Laravel. Blade, Vite, Livewire- и Inertia-подходы, сборка assets и выбор между server-rendered и SPA/hybrid frontend.
-
Artisan Console. Встроенные команды, создание собственных команд, аргументы, options, DI и автоматизация задач разработки и эксплуатации.
-
Task Scheduling в Laravel. Планирование команд и jobs, расписание, предотвращение перекрытий, distributed locks и эксплуатация scheduler.
-
Events и Listeners в Laravel. Event-driven architecture, listeners, subscribers, queued listeners и decoupling компонентов приложения.
-
Queues и Jobs в Laravel. Drivers, создание jobs, retries, failed jobs, job middleware, chains, batches и фоновые бизнес-процессы.
-
Laravel Horizon. Управление Redis queues, workers, balancing, метрики и контроль фоновой обработки.
-
Cache в Laravel. Cache stores, Redis, atomic operations, cache tags, locks и применение к масштабируемым приложениям.
-
Concurrency и Processes в Laravel. Параллельное выполнение независимых задач, внешние процессы и управление результатами исполнения.
-
Collections, Pipelines и Helpers в Laravel. Обработка наборов данных, fluent API и функциональный стиль преобразования информации.
-
HTTP Client Laravel. Отправка запросов сторонним API, authentication, retries, timeouts, concurrent requests и тестирование HTTP integrations.
-
File Storage Laravel. Filesystem abstraction, disks, local storage, S3, visibility, uploads, downloads и временные URLs.
-
Работа с изображениями в Laravel. Image API, преобразование изображений и организация обработки пользовательского медиаконтента.
-
Mail в Laravel. Mailables, templates, attachments, transports, очереди и тестирование отправки электронной почты.
-
Notifications в Laravel. Каналы доставки, mail/database/broadcast notifications, queued notifications и предметные уведомления.
-
Localization в Laravel. Translation files, locale, pluralization и создание многоязычных веб-приложений.
-
Authentication в Laravel. Guards, providers, session authentication, authentication middleware и authentication scaffolding.
-
Authorization в Laravel. Gates, Policies, middleware authorization и разграничение прав доступа к бизнес-объектам.
-
Email Verification, Password Reset, Hashing и Encryption в Laravel. Полный цикл управления учетными данными и криптографической защитой прикладной информации.
-
Laravel Sanctum. API tokens и cookie-based SPA authentication; защита SPA, CSRF и token abilities. [26]
-
Laravel Passport и OAuth 2.0. OAuth-сценарии, clients, access tokens, scopes и критерии выбора между Passport и Sanctum.
-
Laravel Socialite. Аутентификация через внешних identity providers и организация OAuth login в веб-приложении.
-
Rate Limiting в Laravel. Ограничение API и пользовательских действий, rate limiter definitions и защита ресурсов от злоупотреблений.
-
Broadcasting, Laravel Reverb и Echo. Real-time события, WebSocket-инфраструктура, channels, authorization и обновление интерфейса без polling.
-
Database Layer Laravel. Настройка соединений, чтение/запись, raw SQL, transactions и подключение нескольких БД.
-
Query Builder Laravel. Select, joins, subqueries, aggregations, inserts, updates, deletes и безопасная параметризация запросов.
-
Database Migrations и Schema Builder. Версионирование структуры БД, создание и изменение таблиц, indexes, foreign keys и production migrations.
-
Database Seeding и Model Factories. Генерация тестовых и демонстрационных данных, factory states, sequences и связанные модели. [27]
-
Eloquent ORM: модель и жизненный цикл сущности. Model, attributes, mass assignment, casts, timestamps, create/update/delete и модель предметной области.
-
Eloquent Relationships. One-to-One, One-to-Many, Many-to-Many, through- и polymorphic relationships. [28]
-
Eloquent scopes, model events и observers. Local/global scopes, lifecycle hooks и инкапсуляция поведения доменной модели.
-
Производительность Eloquent. Lazy loading, eager loading, проблема N+1, aggregate loading, запрет нежелательной lazy loading и оптимизация запросов.
-
API Resources и JSON:API Resources в Laravel 13. Преобразование моделей в API-представления, relationships, links, fieldsets и JSON:API. Laravel 13 добавила штатные JSON:API Resources. [29]
-
Сериализация Eloquent и Pagination. Преобразование models/collections в JSON, hidden/visible attributes, pagination и API metadata.
-
Redis и MongoDB в Laravel. Использование нереляционных хранилищ наряду с классическими SQL-базами.
-
Поиск в Laravel: Scout, полнотекстовый и семантический поиск. Поисковые индексы, интеграция с search engines и современные semantic/vector search-сценарии Laravel 13. [29]
-
Laravel AI SDK. Создание AI-функций и AI-агентов, text generation, tool calling, embeddings, изображения, audio и vector stores. В Laravel 13 AI SDK введен как собственный унифицированный API фреймворка. [29]
-
Laravel MCP, Laravel Boost и agentic development. Использование AI coding agents, предоставление агентам контекста приложения, поиск документации, работа с БД, тестами и диагностикой. Официальная документация Laravel описывает Boost как средство передачи AI-агентам сведений о версиях пакетов и специализированных инструментов проекта. [30]
-
Тестирование Laravel-приложений. Unit-, feature-, HTTP-, console- и database tests, mocking, fakes и организация test suite.
-
Browser Testing и Laravel Dusk. End-to-end проверка пользовательских сценариев в реальном браузере и отличие browser tests от HTTP feature tests.
-
Экосистема официальных пакетов Laravel. Octane, Telescope, Pulse, Pennant, Pint, Precognition, Prompts, Cashier и другие first-party решения: назначение и критерии подключения. Перечень этих пакетов отражен в документации Laravel 13. [31]
-
Развертывание Laravel-приложения в production. Server requirements, Nginx или FrankenPHP, public document root, configuration/route/view caching, queue workers, scheduler, health route, Octane, Cloud/Forge и эксплуатационная безопасность. Официальное руководство Laravel 13 отдельно рассматривает Nginx, FrankenPHP и production optimization. [32]
|
Элемент |
Темы рефератов |
|
Введение в веб-разработку и PHP; веб-приложения; клиент-серверная архитектура; HTTP |
1–15 |
|
Настройка среды, Apache/Nginx, PHP, Composer, проект, лучшие практики |
16–30 |
|
Работа с БД, MySQLi, PDO, prepared statements |
31–41 |
|
Сеансы, аутентификация, безопасность, файлы и REST |
42–49 |
|
MVC, фреймворки, сравнение Symfony/Laravel/CodeIgniter |
50–54 |
|
Развертывание и production |
55–58 |
|
УК-10 и ПК-1, связь веб-разработки с бизнес-информатикой и ИС |
59–60 |
|
Основы Symfony |
61–74 |
|
Doctrine ORM и базы данных Symfony |
75–81 |
|
Authentication, authorization, sessions и security Symfony |
82–87 |
|
Сервисы и dependency injection Symfony |
88–92 |
|
REST API Symfony, Serializer, FOSRestBundle, NelmioApiDocBundle |
93–98 |
|
Файлы, Flysystem, media, cache, Messenger и расширенные компоненты Symfony |
99–113 |
|
Все семь практических тем раздела 6 рабочей программы |
114–120 |
|
Laravel: архитектура и основные механизмы |
121–140 |
|
Laravel: инфраструктурные подсистемы |
141–154 |
|
Laravel: authentication, authorization и безопасность |
155–162 |
|
Laravel: БД и Eloquent ORM |
163–173 |
|
Laravel: поиск, AI, MCP, тестирование, экосистема и production |
174–180 |
Реферат должен раскрывать назначение технологии или механизма, архитектурные принципы, основные классы/компоненты/API, последовательность работы механизма, типовые сценарии применения, пример использования в веб-приложении, вопросы безопасности и производительности, преимущества и ограничения, а также современные рекомендуемые практики. Для Symfony, Laravel, PHP, Composer и иных программных компонентов информация о конкретных API и версиях должна проверяться по официальной документации разработчика. Устаревшие подходы необходимо явно сопоставлять с актуальными.
Для PHP разумной исходной версией на момент подготовки списка является PHP 8.5: ветка 8.5 имеет статус stable, тогда как 8.4 остается поддерживаемой и может использоваться для совместимости с существующими проектами. [35]
Для Symfony рефераты следует готовить по документации Symfony 8.1, а при обсуждении долгосрочно поддерживаемых корпоративных систем отдельно учитывать Symfony 7.4 LTS. [2]
Для Laravel — по Laravel 13.x; текущая документация этой версии охватывает как традиционную full-stack разработку, так и API backend, а также впервые выделяет AI SDK, MCP и Boost как самостоятельные части документации. [36]
Для Doctrine ORM материал следует проверять по текущей ветке документации Doctrine; она отдельно рассматривает mapping, entities, associations, DQL, QueryBuilder, transactions, concurrency, performance и внутреннее устройство ORM. [15]
Для Twig актуальна ветка документации 3.x, включающая inheritance, filters, functions, macros, automatic escaping, sandbox и расширение шаблонизатора. [37]
Для Composer необходимо учитывать не только composer.json и autoload, но и современные механизмы безопасности зависимостей, включая контроль plugins и audit/policy-настройки. [9]
Для server-side части следует опираться на актуальные руководства Apache HTTP Server 2.4 и Nginx; Nginx официально документирует FastCGI-модуль для передачи запросов приложению, а Apache — mod_proxy_fcgi и другие варианты интеграции с FastCGI/PHP-FPM. [38]
[1] [35] https://www.php.net/releases/branches.php
https://www.php.net/releases/branches.php
[2] Symfony 8.1 Release
https://symfony.com/releases/8.1
[3] [24] [29] Release Notes | Laravel 13.x - The clean stack for Artisans and agents
https://laravel.com/docs/13.x/releases
[4] [6] PHP: Classes and Objects - Manual
https://www.php.net/manual/en/language.oop5.php
[5] PHP: New Features - Manual
https://www.php.net/manual/en/migration85.new-features.php
[7] [38] Apache HTTP Server Version 2.4 Documentation - Apache HTTP Server Version 2.4
https://httpd.apache.org/docs/current/index.html
[8] Module ngx_http_fastcgi_module
[9] Config - Composer
https://getcomposer.org/doc//06-config.md
[10] PHP: MySQLi - Manual
https://www.php.net/manual/en/book.mysqli.php
[11] PHP: Prepared Statements - Manual
https://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php
[12] PHP: PDO - Manual
https://www.php.net/manual/en/book.pdo.php
[13] Handling Multiple Environments — CodeIgniter 4.7.2 documentation
https://codeigniter.com/user_guide/general/environments.html?highlight=s&utm_source=molodets
[14] Symfony Documentation
https://symfony.com/doc/current/index.html?trk=public_post_comment-text&utm_source=molodets
[15] Welcome to Doctrine ORM's documentation! - Doctrine Object Relational Mapper (ORM)
https://www.doctrine-project.org/projects/doctrine-orm/en/latest/index.html
[16] Installing & Setting up the Symfony Framework (Symfony Docs)
https://symfony.com/doc/current/setup.html
[17] Twig for Template Designers - Documentation - Twig PHP
https://twig.symfony.com/doc/3.x/templates.html
[18] Security (Symfony Docs)
https://symfony.com/doc/current/security.html
[19] [33] Extending Action Argument Resolving (Symfony Docs)
https://symfony.com/doc/current/controller/value_resolver.html
[20] Getting Started With FOSRestBundle — FriendsOfSymfony / FOSRestBundle documentation
https://fosrestbundle.readthedocs.io/en/
[21] Configuration Reference (NelmioApiDocBundle Documentation)
https://symfony.com/bundles/NelmioApiDocBundle/4.x/configuration_reference.html
[22] Filesystem API - Flysystem
https://flysystem.thephpleague.com/docs/usage/filesystem-api/
[23] [30] [31] [36] Installation | Laravel 13.x - The clean stack for Artisans and agents
[25] https://laravel.com/docs/13.x/controllers.md
https://laravel.com/docs/13.x/controllers.md
[26] https://laravel.com/docs/13.x/sanctum.md
https://laravel.com/docs/13.x/sanctum.md
[27] Eloquent: Factories | Laravel 13.x - The clean stack for Artisans and agents
https://laravel.com/docs/13.x/eloquent-factories.
[28] https://laravel.com/docs/13.x/eloquent-relationships.md
https://laravel.com/docs/13.x/eloquent-relationships.md
[32] Deployment | Laravel 13.x - The clean stack for Artisans and agents
https://laravel.com/docs/13.x/deployment
[34] PHP: Attributes - Manual
https://www.php.net/manual/en/language.attributes.php
[37] Twig - Documentation - Twig PHP
