mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-27 04:10:30 +08:00
Merge pull request #3730 from prozacUa/master
RU translations of few guide articles
This commit is contained in:
39
docs/guide-ru/intro-yii.md
Normal file
39
docs/guide-ru/intro-yii.md
Normal file
@@ -0,0 +1,39 @@
|
||||
Что такое Yii?
|
||||
===========
|
||||
|
||||
Yii – это высокопроизводительный компонентный PHP фреймворк предназначенный для быстрой разработки современных Web приложений. Слово Yii (произносится `Йи` `[ji:]`) в китайском языке означает «простой и развивающийся». Так же, Yii расшифровывается как акроним **Yes It Is**!
|
||||
|
||||
|
||||
Для каких задач Yii больше всего подходит?
|
||||
---------------------
|
||||
|
||||
Yii – это универсальный фреймворк для Web разработки и может быть задействован во всех типах Web приложений. Благодаря его модульной структуре и мощной поддержке кеширования Yii особенно подходит для разработки таких крупных проектов как порталы, форумы, CMS, сервисы электронной коммерции, RESTful-приложения и т.п.
|
||||
|
||||
|
||||
Сравнение Yii с другими фреймворками
|
||||
-------------------------------------------
|
||||
|
||||
- Как и многие другие PHP фреймворки, в Yii реализована модель MVC (Model-View-Controller). Предполагается, что Ваш код будет организован в соответствии с этой моделью.
|
||||
- Yii придерживается философии простого и элегантного кода не пытаясь усложнять дизайн только ради того, что бы следовать каким-либо принципам проектирования.
|
||||
- Yii представляет собой full-stack фреймворк включая такой проверенный и готовый к использованию функционал, как ActiveRecord для реляционных и NoSQL баз данных, поддержка разработки RESTful API, многоуровневое кеширование и т.д.
|
||||
- Yii черезвычайно масштабируем. Вы можете настраивать и изменять практически любую часть основного кода. Используйте преимущества модульной архитектуры применяя существующие или разрабатывая свои собственные расширения.
|
||||
- Одна из главных целей Yii – производительность.
|
||||
|
||||
Yii — не проект одного человека. Он поддерживается и развивается силами [небольшой команды][] и довольно большим сообществом разработчиков, которые им помогают. Разработчики фреймворка следят за тенденциями веб разработки и развитием других проектов. Наиболее интересные возможности и лучшие практики регулярно внедряются в фреймворк в виде простых и элегантных интерфейсов.
|
||||
|
||||
[небольшой команды]: http://www.yiiframework.com/about/
|
||||
|
||||
Версии Yii
|
||||
------------
|
||||
|
||||
На данный момент существует две основные ветки Yii: 1.1 и 2.0. Версия 1.1 является предыдущим поколением и находится в поддерживаемом состоянии. Версия 2.0 – это полностью переписанный Yii адоптированный к таким последним технологиям и протоколам как Composer, PSR, пространство имен, типажи (traits) и многие другие. Версия 2.0 представляет собой последнее поколение фреймворка и на ней будут сосредоточены основные усилия разработчиков несколько следующих лет. Данное руководство именно о версии 2.0.
|
||||
|
||||
|
||||
Требования и предпосылки
|
||||
------------------------------
|
||||
|
||||
Yii 2.0 requires PHP 5.4.0 or above. You can find more detailed requirements for individual features
|
||||
by running the requirement checker included in every Yii release.
|
||||
|
||||
Для работы Yii 2.0 необходим PHP 5.4.0 и выше. Детальные требования покажет и проверит соответствующий скрипт, который включен в Yii. Для использования Yii требуются базовые знания Объектно-Ориентированного программирования, т.к. Yii основан на ООП. Yii 2.0 так же использует такой новый функционал PHP как [пространство имен](http://www.php.net/manual/en/language.namespaces.php) и [типажи](http://www.php.net/manual/en/language.oop5.traits.php). Понимание этих концепций поможет быстрее разобраться в Yii 2.0.
|
||||
|
||||
169
docs/guide-ru/start-installation.md
Normal file
169
docs/guide-ru/start-installation.md
Normal file
@@ -0,0 +1,169 @@
|
||||
Установка Yii
|
||||
==============
|
||||
|
||||
Вы можете установить Yii двумя способами: используя [Composer](http://getcomposer.org/) или скачав архив с фреймворком.
|
||||
Первый способ предпочтительнее т.к. позволяет установить новые [расширения](structure-extensions.md)
|
||||
или обновить Yii одной командой.
|
||||
|
||||
|
||||
Установка при помощи Composer <a name="installing-via-composer"></a>
|
||||
-----------------------
|
||||
|
||||
Если Composer еще не установлен это просто сделать по инструкции на
|
||||
[getcomposer.org](https://getcomposer.org/download/), или одним из нижеперечисленных способов:
|
||||
|
||||
* на Linux или Mac, используйте следующую команду:
|
||||
|
||||
```
|
||||
curl -s http://getcomposer.org/installer | php
|
||||
mv composer.phar /usr/local/bin/composer
|
||||
```
|
||||
* на Windows, скачайте и запустите [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe).
|
||||
|
||||
Вы можете обращаться к документации [Composer Documentation](https://getcomposer.org/doc/) в случае возникновения проблем или если будет необходима более детальная информация.
|
||||
|
||||
После установки Composer можно устанавливать Yii. Запуститие команду :
|
||||
|
||||
```
|
||||
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
|
||||
```
|
||||
|
||||
в папке доступной через Web. Composer установит Yii (шаблонное приложение basic) в папку `basic`.
|
||||
|
||||
> Совет: Если хотите установить последнюю (экспериментальную) версию Yii, Вы можете добавить ключ `stability`:
|
||||
```
|
||||
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
|
||||
```
|
||||
Обратите внимание: не используйте экспериментальную версию Yii в продакшн т.к. данный релиз не гарантирует стабильной работы.
|
||||
|
||||
|
||||
Установка из архива <a name="installing-from-archive-file"></a>
|
||||
-------------------------------
|
||||
|
||||
Установка Yii из архива состоит из двух шагов:
|
||||
|
||||
1. Скачайте архив по адресу [yiiframework.com](http://www.yiiframework.com/download/yii2-basic);
|
||||
2. Распакуйте скачанный архив в папку, доступную из Web.
|
||||
|
||||
|
||||
Другие опции установки <a name="other-installation-options"></a>
|
||||
--------------------------
|
||||
|
||||
Ниже приведены инструкции, которые покажут как установить Yii в виде базового приложения готового к работе.
|
||||
Это отличный вариант для небольших проектов или для тех, кто только начинает изучать Yii.
|
||||
|
||||
Есть два основных варианта такой установки:
|
||||
|
||||
* Если Вам нужен только сам фреймворк и Вы хотели бы создать приложение "с чистого листа" воспользуйтесь инструкцией [простой шаблон приложения](tutorial-start-from-scratch.md).
|
||||
* Если хотите начать с более продвинутого приложения которое поддерживает командную среду разработки и разделено на несколько слоев (frontend/backend) используйте [продвинутый шаблон приложения](tutorial-advanced-app.md).
|
||||
|
||||
|
||||
Проверка установки <a name="verifying-installation"></a>
|
||||
----------------------
|
||||
|
||||
После установки приложения можно зайти браузером на сервер, где происходила установка Yii приложения. Если Вы, по примеру выше, развернули приложение в директории `basic` в корне (DocumentRoot) вашего Web сервера, то URL доступа к точке входа в приложение будет следующим:
|
||||
|
||||
```
|
||||
http://hostname/basic/web/index.php
|
||||
```
|
||||
|
||||

|
||||
|
||||
В результате, Вы должны увидеть страницу приветствия "Congratulations!". Если нет - проверьте в первую очередь требования и зависимости Yii одним из способов:
|
||||
|
||||
* Браузером перейдите по адресу `http://hostname/basic/requirements.php`
|
||||
* Или выполните команду в консоли:
|
||||
|
||||
```
|
||||
cd basic
|
||||
php requirements.php
|
||||
```
|
||||
|
||||
Для корректной работы фреймворка Вам нужно настроить PHP в соответствии с требованиями Yii приведенными в этом скрипте.
|
||||
Самое важное - PHP версии 5.4 и выше. Так же, необходимо установить [PDO PHP Extension](http://www.php.net/manual/en/pdo.installation.php) и соответствующий драйвер
|
||||
(Например, `pdo_mysql` для MySQL), если Вы планируете использовать базы данных в своем приложении.
|
||||
|
||||
|
||||
Настройка Web сервера <a name="configuring-web-servers"></a>
|
||||
-----------------------
|
||||
|
||||
> Замечание: можете пропустить этот подраздел если Вы лишь тестируете приложение и не разворачиваете его на продакшн сервере.
|
||||
|
||||
Приложение, установленное по инструкциям данного раздела находится в рабочем состоянии сразу же после установки как с Web сервером [Apache](http://httpd.apache.org/), так и с [Nginx HTTP server](http://nginx.org/), как в окружении Windows, так и в Linux.
|
||||
|
||||
На рабочем сервере Вам наверняка захочется изменить URL путь к приложению на более удобный, такой как `http://hostname/index.php` вместо `http://hostname/basic/web/index.php`. Для этого лишь нужно изменить корневую директорию в настройках Web сервера так, что бы та указывала на `basic/web`. Так же, можно спрятать `index.php` из URL строки, подробности описаны в разделе [Разбор и генерация URL](runtime-url-handling.md).
|
||||
В данном подразделе мы увидим как настроить Apache и Nginx соответствующим образом.
|
||||
|
||||
> Замечание: Устанавливая `basic/web` корневой директорией Web сервера Вы защищаете от нежелательного доступа через Web программную часть приложения и данные, находящиеся на одном уровне с `basic/web`. Такие настройки делают Ваш сервер более защищенным.
|
||||
|
||||
> Замечание: Если Вы работаете на хостинге где нет доступа к настройкам Web сервера, то можно настроить под себя структуру приложения как это описано в разделе [Работа на Shared хостинге](tutorial-shared-hosting.md).
|
||||
|
||||
|
||||
### Рекомендуемые настройки Apache <a name="recommended-apache-configuration"></a>
|
||||
|
||||
Добавьте следующую конфигурацию в `httpd.conf` Web сервера Apache или в конфигурационный файл виртуального сервера. Не забудьте заменить `path/to/basic/web` на свой корректный путь к `basic/web`.
|
||||
|
||||
```
|
||||
# Устанавливаем корневой директорией "basic/web"
|
||||
DocumentRoot "path/to/basic/web"
|
||||
|
||||
<Directory "path/to/basic/web">
|
||||
RewriteEngine on
|
||||
|
||||
# Если запрашиваемая в URL директория или файл сущесвуют обращаемся к ним напрямую
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
# Если нет - перенаправляем запрос на index.php
|
||||
RewriteRule . index.php
|
||||
|
||||
# ...прочие настройки...
|
||||
</Directory>
|
||||
```
|
||||
|
||||
|
||||
### Рекомендуемые параметры для Nginx <a name="recommended-nginx-configuration"></a>
|
||||
|
||||
PHP должен быть установлен как [FPM SAPI](http://php.net/install.fpm) для [Nginx](http://wiki.nginx.org/).
|
||||
Используйте следующие параметры Nginx и не забудьте заменить `path/to/basic/web` на свой корректный путь к `basic/web`.
|
||||
|
||||
```
|
||||
server {
|
||||
charset utf-8;
|
||||
client_max_body_size 128M;
|
||||
|
||||
listen 80; ## listen for ipv4
|
||||
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
|
||||
|
||||
server_name mysite.local;
|
||||
root /path/to/basic/web;
|
||||
index index.php;
|
||||
|
||||
access_log /path/to/project/log/access.log main;
|
||||
error_log /path/to/project/log/error.log;
|
||||
|
||||
location / {
|
||||
# Перенаправляем все запросы к несуществующим директориям и файлам к index.php
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
|
||||
# раскомментируйте строки ниже во избежание обработки Yii обращений к несуществующим статическим файлам
|
||||
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
|
||||
# try_files $uri =404;
|
||||
#}
|
||||
#error_page 404 /404.html;
|
||||
|
||||
location ~ \.php$ {
|
||||
include fastcgi.conf;
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
#fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
}
|
||||
|
||||
location ~ /\.(ht|svn|git) {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Используя данную конфигурацию установите параметр `cgi.fix_pathinfo=0` в `php.ini` что бы предотвратить лишние системные вызовы `stat()`.
|
||||
|
||||
Учтите, что используя HTTPS необходимо задавать `fastcgi_param HTTPS on;` что бы Yii мог корректно определять защищенное соединение.
|
||||
Reference in New Issue
Block a user