Skip to content

Commit

Permalink
Merge branch 'master' of github.com:yiisoft/yii2
Browse files Browse the repository at this point in the history
  • Loading branch information
klimov-paul committed May 8, 2015
2 parents 582b760 + 49ac8d7 commit 6c10b91
Show file tree
Hide file tree
Showing 37 changed files with 270 additions and 110 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ addons:

install:
- travis_retry composer self-update && composer --version
- travis_retry composer global require "fxp/composer-asset-plugin:1.0.0"
- travis_retry composer global require "fxp/composer-asset-plugin:~1.0.0"
- export PATH="$HOME/.composer/vendor/bin:$PATH"
# core framework:
- travis_retry composer install --prefer-dist --no-interaction
Expand Down
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ Contributing to Yii2

- [Report an issue](docs/internals/report-an-issue.md)
- [Translate documentation or messages](docs/internals/translation-workflow.md)
- [Contribute to the core code or fix bugs](docs/internals/getting-started.md)
- [Give us feedback or start a design discussion](http:https://www.yiiframework.com/forum/index.php/forum/42-design-discussions-for-yii-20/)
- [Contribute to the core code or fix bugs](docs/internals/git-workflow.md)
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Yii 2.0 has a [Definitive Guide](http:https://www.yiiframework.com/doc-2.0/guide-index
a [Class Reference](http:https://www.yiiframework.com/doc-2.0/index.html) which cover every detail of Yii.

There is also a [PDF version](http:https://stuff.cebe.cc/yii2-guide.pdf) of the Definitive Guide
and a [Definitive Guide Mirror](http:https://stuff.cebe.cc/yii2docs/) which update every 15 minutes.
and a [Definitive Guide Mirror](http:https://stuff.cebe.cc/yii2docs/) which is updated every 15 minutes.

For 1.1 users, you may refer to [Upgrading from Yii 1.1](docs/guide/intro-upgrade-from-v1.md)
to have a general idea of what has changed in 2.0.
Expand All @@ -55,11 +55,8 @@ HOW TO PARTICIPATE

You may participate in the following ways:

* [Report issues](https://github.com/yiisoft/yii2/issues)
* [Give us feedback or start a design discussion](http:https://www.yiiframework.com/forum/index.php/forum/42-design-discussions-for-yii-20/)
* Fix issues, develop features, write/polish documentation
- Before you start, please adopt an existing issue (labelled with "ready for adoption") or start a new one to avoid duplicated efforts.
- Please submit a merge request after you finish development.

In order to make it easier we've prepared [special `yii2-dev` Composer package](https://github.com/yiisoft/yii2/blob/master/docs/internals/getting-started.md).
- [Report an issue](docs/internals/report-an-issue.md)
- [Translate documentation or messages](docs/internals/translation-workflow.md)
- [Give us feedback or start a design discussion](http:https://www.yiiframework.com/forum/index.php/forum/42-design-discussions-for-yii-20/)
- [Contribute to the core code or fix bugs](docs/internals/git-workflow.md)

4 changes: 2 additions & 2 deletions docs/guide-es/intro-yii.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ Si estás familiarizado con otros framework, puedes apreciar como se compara Yii
- Yii es extremadamente extensible. Puedes personalizar o reemplazar prácticamente cualquier pieza de código de base, como se puede también aprovechar su sólida arquitectura de extensiones para utilizar o desarrollar extensiones distribuibles.
- El alto rendimiento es siempre la meta principal de Yii.

Yii no es un proyecto de un sola persona, detrás de Yii hay un [sólido equipo de desarrollo][], así como una gran comunidad en la que numerosos profesionales contribuyen constantemente a su desarrollo.
Yii no es un proyecto de un sola persona, detrás de Yii hay un [sólido equipo de desarrollo][about_yii], así como una gran comunidad en la que numerosos profesionales contribuyen constantemente a su desarrollo.
El equipo de desarrollo de Yii se mantiene atento a las últimas tendencias de desarrollo web, así como a las mejores prácticas y características de otros frameworks y proyectos.
Las buenas prácticas y características más relevantes de otros proyectos se incorporan regularmente a la base del framework y se exponen a través de interfaces simples y elegantes.

[sólido equipo de desarrollo]: http:https://www.yiiframework.com/about/
[about_yii]: http:https://www.yiiframework.com/about/

Versiones de Yii
----------------
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-es/start-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Si ya tienes composer instalado asegurate que esté actualizado ejecutando `comp
Teniendo Composer instalado, puedes instalar Yii ejecutando los siguientes comandos en un directorio accesible vía Web:
Nota: es posible que en al ejecutar el primer comando te pida tu username

composer global require "fxp/composer-asset-plugin:1.0.0"
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic

El comando anterior instala Yii dentro del directorio `basic`.
Expand Down
4 changes: 2 additions & 2 deletions docs/guide-fr/intro-yii.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ support cache multi-niveaux; et plus.
profiter de son architecture extensible solide, afin d'utiliser ou développer des extensions redistribuables.
- La haute performance est toujours un des principaux objectifs de Yii.

Yii n'est pas un one-man show, il est soutenu par une [solide équipe de développement du noyau][] ainsi que d'une grande communauté
Yii n'est pas un one-man show, il est soutenu par une [solide équipe de développement du noyau][about_yii] ainsi que d'une grande communauté
avec de nombreux professionnels qui contribuent constamment au développement de Yii. L'équipe de développeurs de Yii
garde un œil attentif sur les dernières tendances en développement Web, et sur ​​les meilleures pratiques et caractéristiques
trouvées dans d'autres frameworks ou projets. Les meilleures pratiques et caractéristiques les plus pertinentes trouvées ailleurs sont régulièrement intégrées dans le code du noyau et utilisables
via des interfaces simples et élégantes.

[solide équipe de développement du noyau]: http:https://www.yiiframework.com/about/
[about_yii]: http:https://www.yiiframework.com/about/

Versions de Yii
---------------
Expand Down
4 changes: 2 additions & 2 deletions docs/guide-it/intro-yii.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ Se hai già familiarità con altri framework potrai apprezzare questi punti in c
sfuttare la solida architettura delle estensioni di Yii per usare o sviluppare estensioni ridistribuibili.
- Le prestazioni elevate sono sempre il focus primario di Yii.

Yii non è frutto di un uomo solo, ma è supportato da un [folto gruppo di sviluppatori][], così come da una numerosa
Yii non è frutto di un uomo solo, ma è supportato da un [folto gruppo di sviluppatori][about_yii], così come da una numerosa
comunità di professionisti che contribuiscono costantemente allo sviluppo. Il gruppo di sviluppatori tiene sempre
sott'occhio le ultime tendenze e tecnologie di sviluppo web, sulle pratiche ottimali e funzionalità degli altri
framework e progetti. Le peculiarità più rilevanti che si trovano altrove sono regolarmente incorporate nel
codice principale del framework, e rese disponibili tramite semplici ed eleganti interfacce.

[folto gruppo di sviluppatori]: http:https://www.yiiframework.com/about/
[about_yii]: http:https://www.yiiframework.com/about/

Versioni di Yii
---------------
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-it/start-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Se hai già Composer installato assicurati di avere una versione aggiornata. Puo

Una volta installato Composer, puoi installare Yii eseguendo questo comando in una directory accessbile via web:

composer global require "fxp/composer-asset-plugin:1.0.0"
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic

Il primo comando installa il [plugin composer asset](https://github.com/francoispluchino/composer-asset-plugin/)
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-ja/start-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Composer は `composer self-update` コマンドを実行してアップデー

Composer がインストールされたら、ウェブからアクセスできるフォルダで下記のコマンドを実行することによって Yii をインストールすることが出来ます。

composer global require "fxp/composer-asset-plugin:1.0.0"
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic

最初のコマンドは [composer アセットプラグイン](https://github.com/francoispluchino/composer-asset-plugin/) をインストールします。
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-ja/tutorial-start-from-scratch.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@ Yii の新しいプロジェクトテンプレートを作成するのに必要
これで、あなたのテンプレートを使ってプロジェクトを作成することが出来ます。

```
composer global require "fxp/composer-asset-plugin:1.0.0"
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist --stability=dev mysoft/yii2-app-coolone new-project
```
2 changes: 1 addition & 1 deletion docs/guide-ja/tutorial-yii-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Yii は数多くの優れた機能を提供していますので、サードパ

サードパーティのシステムが Composer を使って依存を管理している場合は、単に下記のコマンドを実行すれば Yii をインストールすることが出来ます。

composer global require "fxp/composer-asset-plugin:1.0.0"
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer require yiisoft/yii2
composer install

Expand Down
2 changes: 1 addition & 1 deletion docs/guide-pt-BR/start-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Você pode atualizar o Composer executando o comando `composer self-update`.
Com o Composer instalado, você pode instalar o Yii executando o seguinte comando
em um diretório acessível pela Web:

composer global require "fxp/composer-asset-plugin:1.0.0"
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic

O primeiro comando instaka o [composer asset plugin](https://github.com/francoispluchino/composer-asset-plugin/)
Expand Down
119 changes: 119 additions & 0 deletions docs/guide-ru/input-forms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
Создание форм
==============

Основной способ использования форм в Yii является использоваение [[yii\widgets\ActiveForm]]. Этот подход должен быть
применён, когда форма основана на модели. Кроме того, имеются дополнительные методы в [[yii\helpers\Html]], которые
используются для добавления кнопок и текстовых подсказок к любой форме.

Форме, которая отображается на стороне клиента, в большинстве случаев соответствует [модели](structure-models.md).
Модель в свою очередь проверяет данные из элементов формы на сервере (посмотрите раздел [Валидация](input-validation.md)
для более подробных сведений). Когда создаётся форма, основанная на модели, необходимо определить, что же является моделью.
Модель может основываться на классе [Active Record](db-active-record.md), который описывает некоторые данные из базы данных,
или модель может основываться на базовом классе Model (происходит от [[yii\base\Model]]), который позволяет использовать
произвольный набор элементов формы, например форма входа.

В следующем примере показано, как создать модель формы, основанной на базовом классе Model:

```php
<?php

class LoginForm extends \yii\base\Model
{
public $username;
public $password;

public function rules()
{
return [
// тут определяются правила валидации
];
}
}
```

В контроллере, будем передать экземпляр этой модели в вид, для [[yii\widgets\ActiveForm|ActiveForm]] виджета, который
генерирует форму.

```php
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;

$form = ActiveForm::begin([
'id' => 'login-form',
'options' => ['class' => 'form-horizontal'],
]) ?>
<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'password')->passwordInput() ?>

<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('Вход', ['class' => 'btn btn-primary']) ?>
</div>
</div>
<?php ActiveForm::end() ?>
```

В вышеизложенном коде, [[yii\widgets\ActiveForm::begin()|ActiveForm::begin()]] не только создаёт экземпляр формы, но
также и знаменует её начало. Весь контент, расположенный между [[yii\widgets\ActiveForm::begin()|ActiveForm::begin()]]
и [[yii\widgets\ActiveForm::end()|ActiveForm::end()]], будет завёрнут в HTML `<form>` тег. Вы можете настроить некоторые
настройки виджета через передачу массива в его `begin` метод, также как и в любом другом виджете. В этом случае, дополнительный
CSS класс и идентификатор ID будет прикреплён к открывающемуся тегу `<form>`. Для просмотра всех доступных настроек,
пожалуйста обратитесь к API документации [[yii\widgets\ActiveForm]].

Для создания в форме элемента с меткой и любой применимой Javascript валадиацией, вызывается [[yii\widgets\ActiveForm::field()|ActiveForm::field()]],
который возвращает экземпляр [[yii\widgets\ActiveField]]. Когда этот метод вызывается непосредственно, то результатом
будет текстовый элемент (`input type="text"`). Для того, чтобы настроить элемент, можно вызвать одни за одним дополнительные
методы [[yii\widgets\ActiveField|ActiveField]]:

```php
// элемент формы password
<?= $form->field($model, 'password')->passwordInput() ?>
// добавлена подсказка hint и настроена метка label
<?= $form->field($model, 'username')->textInput()->hint('Пожалуйста, введите имя')->label('Имя') ?>
// создание HTML5 email элемента
<?= $form->field($model, 'email')->input('email') ?>
```

Впоследствии будет созданы `<label>`, `<input>` и другие теги в соответствии с [[yii\widgets\ActiveField::$template|template]],
который определён в элементе. Имя элемента формы определяется автоматически из моделей [[yii\base\Model::formName()|form name]]
и их атрибутов. Например, имя элемента для атрибута `username` в коде, приведённом выше, будет `LoginForm[username]`.
Это правило наименование будет учитываться на стороне сервера при получении массива результатов `$_POST['LoginForm']`
для всех элементов формы входа (Login Form).

Специфический атрибут модели может быть задан через более сложный способ. Например, при загрузки файлов или выборе
нескольких значений из списка, в качестве значений атрибуту модели нужно передать массив, для этого к имени можно добавить
`[]`:

```php
// поддерживает загрузку нескольких файлов:
echo $form->field($model, 'uploadFile[]')->fileInput(['multiple'=>'multiple']);

// поддерживает выбор нескольких значений:
echo $form->field($model, 'items[]')->checkboxList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']);
```

Дополнительные HTML элементы могут быть добавлены к форме используя обычный HTML или методы из класса помощника [[yii\helpers\Html|Html]],
как это было сделано с помощью [[yii\helpers\Html::submitButton()|Html::submitButton()]] в примере, что выше.

> Подсказка: Если вы использует Twitter Bootstrap CSS в своём приложении, то воспользуйтесь
> [[yii\bootstrap\ActiveForm]] вместо [[yii\widgets\ActiveForm]]. Он добавит к ActiveForm дополнительные стили, которые
> сработают в рамках bootstrap CSS.
> Подсказка: для добавления "звёздочки" к обязательным элементам формы воспользуйтесь следующим CSS:
>
> ```css
> div.required label:after {
> content: " *";
> color: red;
> }
> ```
Следующая глава [Validating Input](input-validation.md) описывает валидацию отправленной формы как на стороне сервера,
так и на стороне клиента.

Если вы хотите более подробно изучить информацию по использованию форм, то обратитесь к главам:

- [Collecting tabular input](input-tabular-input.md) for collecting data for multiple models of the same kind.
- [Complex Forms with Multiple Models](input-multiple-models.md) for handling multiple different models in the same form.
- [Загрузка файлов](input-file-upload.md) - как использовать формы для загрузки файлов.
4 changes: 2 additions & 2 deletions docs/guide-ru/intro-upgrade-from-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ $component->on($eventName, $handler);
// $component->off($eventName, $handler);
```

Есть и другие улучшения по части событий, подробно описанные в в разделе «[События](concept-events.md)».
Есть и другие улучшения по части событий, подробно описанные в разделе «[События](concept-events.md)».


Псевдонимы пути
Expand All @@ -142,7 +142,7 @@ $component->on($eventName, $handler);

Псевдонимы пути тесно связаны с пространством имён классов. Рекомендуется определять псевдоним пути для каждого корневого
пространства имён, что позволяет использовать загрузчик классов Yii без какой-либо дополнительной настройки. Например,
так как `@yii` соответствует директории, в которую установлен фреймворк, класс `yii\webRequest` может быть загружен
так как `@yii` соответствует директории, в которую установлен фреймворк, класс `yii\web\Request` может быть загружен
автоматически. Если вы используете сторонние библиотеки, например, из Zend Framework, вы можете определить псевдоним
пути `@Zend` как директорию, в которую установлен этот фреймворк. После этого Yii будет способен автоматически загружать
любой класс Zend Framework.
Expand Down
Loading

0 comments on commit 6c10b91

Please sign in to comment.