in Профессиональное

Symfony2 Глоссарий

Для того чтобы эффективно общаться между собой, люди (и программисты не исключение) заранее договариваются о некоторой базовой терминологии, поэтому перевод Symfony2 the Book, я хочу начать с небольшого глоссария, терминологию которого я буду использовать в дальнейшем.

Приложение (Application)

Под Приложением мы будем понимать директорию, содержащую конфигурацию для данного конкретного набора пакетов.

Пакет (Bundle)

Пакет, это директория, содержащая набор файлов (PHP, CSS, JavaScript, изображения), которые реализуют одну более-менее крупную функцию (блог, форум и т.д.). В Symfony2 всё (в основном) располагается внутри тех или иных пакетов. (The Bundle System)

Дистрибутив (Distribution)

Дистрибутив – это совокупность компонент Symfony2, выбранных пакетов, соответствующей структуры директорий, конфигурации по-умолчанию и опциональной системы конфигурирования. (Примечание: название “дистрибутив” показалось мне наиболее логичным в данном случае, слово конечно заимствованное, но в среде ИТ-шников все его знают, в то же время “дистрибьюция” – это уже что-то из мира продаж имхо).

Фронт-контроллер (Front Controller)

Фронт-контроллер, это короткий PHP-файл, который расположен в web-директории проекта. Обычно все запросы перехватываются фронт-контроллером, а основная его задача состоит в загрузке Symfony-приложения.

Спецификация протокола HTTP (HTTP Specification)

Спецификация протокола HTTP – это документ, который описывает протокол передачи гипертекста – набор правил, описывающих классическую клиент-серверную коммуникацию, базирующуюся на запросах и ответах. Спецификация определяет формат, используемый для запросов и ответов, а также всевозможные HTTP заголовки, которые каждый запрос/ответ могут иметь. За дополнительной информацией о протоколе HTTP вы можете обратиться по ссылкам: Http Wikipedia и HTTP 1.1 RFC.

Окружение (Environment)

Окружение это наименование (например prod или dev) совокупности параметров, которое соответствет некоторому набору конфигурационных параметров. Одно и то же приложение может быть запущено с использованием различных конфигураций посредством его запуска в различных окружениях. Это очень удобно, так как позволяет для одного приложения иметь dev[elopment] окружение для отладки и prod[uction] окружение, оптимизированное по скорости – для конечного пользователя.

Проект (Project)

Проект – это директория, состоящая из приложения, набора пакетов, сторонних библиотек, автозагрузчика и скрипта фронт-контроллера.

Служба (Service)

Служба – это базовый термин для любого объекта в PHP, который выполняет определнную задачу. Служба как правило используется глобально, например объект подключения к базе данных или объект для отправки email сообщений. О приложении, имеющим много независимых служб, говорят что оно реализует сервисно-ориентированную архитектуру.

Контейнер служб (Service Container)

Контейнер служб, также известный как Контейнер внедрения зависимости (Dependency Injection Container), это специальный объект, который управляет созданием экземпляров сервисов внутри приложения. Вместо того, чтобы создавать сервис напрямую, разработчик посредством конфигурации обучает контейнер служб как создавать тот или иной сервис. Контейнер служб в свою очередь позаботится о простом получении экземпляра службы и внедрения зависимых служб.

Leave a Reply for IgorN Cancel Reply

Write a Comment

Comment

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.

  1. Прежде всего, благодарю за переводы – легко читаются и очень помогают в освоении фреймворка..

    Насчет определений. Мне кажется что определение по факту звучит несколько коряво: “Окружение это фактически строка…”.
    Окружение – это среда выполнения приложения, с индивидуальной конфигурацией, которая определяется строковым параметром. Имхо, по сути ближе.

    • В оригинале – “An environment is a string (e.g. prod or dev)”. Может ближе будет “Окружение это наименование совокупности параметров”?