Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
29f9670f
Commit
29f9670f
authored
Jun 12, 2014
by
Mark
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
structure application components translated
parent
b0ae2d44
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
91 additions
and
0 deletions
+91
-0
structure-application-components.md
docs/guide-ru/structure-application-components.md
+91
-0
No files found.
docs/guide-ru/structure-application-components.md
0 → 100644
View file @
29f9670f
Компоненты приложения
=====================
Приложения являются
[
сервис локаторами
](
concept-service-locators.md
)
. Они хранят множество так называемых
*компонентов приложения*
, которые предоставляют различные средства для обработки запросов. Например,
компоненты
`urlManager`
ответственен за маршрутизацию веб запросов к нужному контроллеру; компонент
`db`
предоставляет
средства для работы с базой данных; и т. д.
Каждый компонент приложения имеет свой уникальный ID, который позволяет идентифицировать его среди других различных компонентов
в одном и том же приложении. Вы можете получить доступ к компоненту следующим образом:
```
php
\Yii
::
$app
->
ComponentID
```
Например, вы можете использовать
`\Yii::$app->db`
для получения
[
[yii\db\Connection|соединения с БД
]
],
и
`\Yii::$app->cache`
для получения доступа к основному компоненту
[
[yii\caching\Cache|кэша
]
], зарегистрированному в приложении.
Компонентами приложения могут быть любые объекты. Вы можете зарегистрировать их с помощью
свойства
[
[yii\base\Application::components
]
] в
[
конфигурации
](
structure-applications.md#application-configurations
)
приложения.
Например,
```
php
[
'components'
=>
[
// регистрация "cache" компонента с помощью имени класса
'cache'
=>
'yii\caching\ApcCache'
,
// регистрация "db" компонента с помощью массива конфигурации
'db'
=>
[
'class'
=>
'yii\db\Connection'
,
'dsn'
=>
'mysql:host=localhost;dbname=demo'
,
'username'
=>
'root'
,
'password'
=>
''
,
],
// регистрация "search" компонента с помошью анонимной функции
'search'
=>
function
()
{
return
new
app\components\SolrService
;
},
],
]
```
> Информация: Хотя вы можете зарегистрировать столько компонентов в приложении сколько вам нужно,
все таки стоит это делать разумно. Компоненты приложения похожи на глобальные переменные. Использование слишком
большого количества компонентов приложения может потенциально сделать ваш код сложным для разработки и тестирования.
В большинстве случаев вы можете просто создать локальный компонент и использовать его при необходимости.
## Встроенные компоненты приложения <a name="core-application-components"></a>
В Yii есть несколько
*встроенных*
компонентов приложения, с фиксированными ID и конфигурациями по-умолчанию. Например,
компонент
[
[yii\web\Application::request|request
]
] используется для сбора информации о запросе пользователя и разбора его в
определенный
[
маршрут
](
runtime-routing.md
)
; компонент
[
[yii\base\Application::db|db
]
] представляет собой соединение с базой данных,
через которое вы можете выполнять запросы. Именно с помощью этих встроенных компонентов Yii приложения могут обработать
запрос пользователя.
Ниже представлен список встроенных компонентов приложения. Вы можете конфигурировать их также как и другие компоненты приложения.
Когда вы конфигурируете встроенный компонент приложения и не указываете класс этого компонента, то значение по-умолчанию будет использовано.
*
[
[yii\web\AssetManager|assetManager
]
]: используется для управления и опубликования ресурсов приложения.
Более детальная информация представлена в разделе
[
Ресурсы
](
output-assets.md
)
;
*
[
[yii\db\Connection|db
]
]: представляет собой соединение с базой данных, через которое вы можете выполнять запросы.
Обратите внимание, что когда вы конфигурируете данный компонент, вы должны указать класс компонента также как и остальные
необходимые параметры, такие как
[
[yii\db\Connection::dsn
]
].
Более детальная информация представлена в разделе
[
Объекты доступа к данным (DAO)
](
db-dao.md
)
;
*
[
[yii\base\Application::errorHandler|errorHandler
]
]: осуществляет обработку PHP ошибок и исключений.
Более детальная информация представлена в разделе
[
Обработка ошибок
](
tutorial-handling-errors.md
)
;
*
[
[yii\base\Formatter|formatter
]
]: форматирует данные для отображения их конечному пользователю. Например, число может
быть отображено с различными разделителями, дата может быть отображена в формате
`long`
.
Более детальная информация представлена в разделе
[
Форматирование данных
](
output-formatting.md
)
;
*
[
[yii\i18n\I18N|i18n
]
]: используется для перевода сообщений и форматирования.
Более детальная информация представлена в разделе
[
Интернационализация
](
tutorial-i18n.md
)
;
*
[
[yii\log\Dispatcher|log
]
]: обработка и маршрутизация логов.
Более детальная информация представлена в разделе
[
Логирование
](
tutorial-logging.md
)
;
*
[
[yii\swiftmailer\Mailer|mail
]
]: предоставляет возможности для составления и рассылки писем.
Более детальная информация представлена в разделе
[
Отправка почты
](
tutorial-mailing.md
)
;
*
[
[yii\base\Application::response|response
]
]: представляет собой данные от сервера, которые будет направлены пользователю.
Более детальная информация представлена в разделе
[
Ответы
](
runtime-responses.md
)
;
*
[
[yii\base\Application::request|request
]
]: представляет собой запрос, полученный от конечных пользователей.
Более детальная информация представлена в разделе
[
Запросы
](
runtime-requests.md
)
;
*
[
[yii\web\Session|session
]
]: информация о сессии. Данный компонент доступен только в
[
[yii\web\Application|веб приложениях
]
].
Более детальная информация представлена в разделе
[
Сессии и куки
](
runtime-sessions-cookies.md
)
;
*
[
[yii\web\UrlManager|urlManager
]
]: используется для разбора и создания URL.
Более детальная информация представлена в разделе
[
Разбор и генерация URL
](
runtime-url-handling.md
)
;
*
[
[yii\web\User|user
]
]: представляет собой информацию аутентифицированного пользователя.
Данный компонент доступен только в
[
[yii\web\Application|веб приложениях
]
].
Более детальная информация представлена в разделе
[
Аутентификация
](
security-authentication.md
)
;
*
[
[yii\web\View|view
]
]: используется для отображения представлений.
Более детальная информация представлена в разделе
[
Представления
](
structure-views.md
)
.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment