Skip to content

Commit 0ef3ea0

Browse files
committed
Merge branch 'master' into step-0.3
2 parents 8864cbb + 97e80ac commit 0ef3ea0

File tree

3 files changed

+58
-43
lines changed

3 files changed

+58
-43
lines changed

readme.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#Интерактивное руководство создания сайта на Yii2 на русском языке
1+
# Yii2 Интерактивное руководство создания сайта на русском языке
22

33
## Содержание
44

@@ -50,16 +50,16 @@ php -S localhost:9000
5050

5151
### Как обновить руководство до актуального состояния?
5252

53-
Самый простой способ удалить учебник и повторить шаги из секции "Установка руководства".
53+
Самый простой способ - удалить учебник и повторить шаги из секции "Установка руководства".
5454

55-
Второй способ скачать только отличия, которых в вашей версии руководства нету. Для этого выполните:
55+
Второй способ - скачать только отличия, которых в вашей версии руководства нету. Для этого выполните:
5656

5757
```
5858
cd yii2-tutorial
5959
git remote update
6060
```
6161

62-
Далее нужно обратить внимание на ветки git, которые имеют изменения и выполнить для них команды. Например для `master`:
62+
Далее нужно обратить внимание на ветки git, которые имеют изменения:
6363

6464
```
6565
git remote update
@@ -69,23 +69,28 @@ git remote update
6969
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
7070
Unpacking objects: 100% (3/3), done.
7171
From https://github.com/githubjeka/yii2-tutorial
72-
8d08bb3..537ddc6 master -> origin/master
73-
74-
\yii2-tutorial (master)
75-
git pull
76-
Updating 8d08bb3..537ddc6
77-
Fast-forward
72+
8d08bb3..537ddc6 master -> origin/master
73+
9aa3ff1..fb14483 step-1.2 -> origin/step-1.2
74+
```
75+
76+
Изменения имеются в `master` и `step-1.2` ветках. Их необходимо локально обновить, выполнив команды `git checkout` и
77+
`git pull`. Например для `step-1.2` необходимо выполнить в yii2-tutorial:
78+
79+
```
80+
git checkout step-1.2
81+
git pull
82+
83+
Updating 9aa3ff1..fb14483
84+
Fast-forward
7885
readme.md | 15 ++++++++++++++-
7986
1 file changed, 14 insertions(+), 1 deletion(-)
8087
```
8188

8289
### Лицензия & Авторские права
8390

84-
Весь материал (с) 2015 Evgeniy Tkachenko (<et.coder@gmail.com>)
85-
8691
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.ru">
8792
<img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" />
8893
</a>
8994

90-
"Интерактивное руководство создания сайта на Yii2 на русском языке" распространятся под
91-
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.ru">Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.</a>
95+
Yii2 Интерактивное руководство создания сайта на русском языке (с) 2015 Evgeniy Tkachenko (<et.coder@gmail.com>)
96+
распространятся под <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.ru">Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.</a>

scripts/steps/step-000.2.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ New migration created successfully.
364364

365365
```php
366366
/**
367-
* Поддерживаемые типы данных для описания колонок.
367+
* Поддерживаемые абстрактные типы данных для описания колонок.
368368
*/
369369
const TYPE_PK = 'pk';
370370
const TYPE_BIGPK = 'bigpk';
@@ -385,7 +385,7 @@ const TYPE_BOOLEAN = 'boolean';
385385
const TYPE_MONEY = 'money';
386386
```
387387

388-
Миграция для таблицы, которая будет хранить данных из формы "Опрос", выглядит следующим образом(Подробнее в в файле
388+
Миграция для таблицы, которая будет хранить данных из формы "Опрос", выглядит следующим образом (подробнее в в файле
389389
`yii2-app-advanced/console/migrations/m150428_104828_interview.php`) :
390390

391391
```php
@@ -399,7 +399,7 @@ $this->createTable('{{%interview}}', [
399399
], $tableOptions);
400400
```
401401

402-
Обратите внимание, что для описания типов данных используется не только константы, но и ключевые слова, например `. ' NOT NULL'`.
402+
Обратите внимание, что для описания типов данных используется не только константы, но и ключевые слова, например `NOT NULL`.
403403
Вы можете дополнять типы данных ключевыми словами до нужного вам состояния.
404404

405405
<p class="alert alert-info">
@@ -435,7 +435,7 @@ Gii включен в Advanced шаблоне приложения, если э
435435
php init --env=Development
436436
```
437437

438-
Чтобы попасть в Gii нужно перейти по ссылке <a href="/yii2-app-advanced/frontend/web/index.php?r=gii" target="_blank">
438+
Чтобы попасть в Gii, нужно перейти по ссылке <a href="/yii2-app-advanced/frontend/web/index.php?r=gii" target="_blank">
439439
index.php?r=gii</a> и выбрать пункт **Model Generator**.
440440

441441
Если ваш сайт установлен не на локальном хосте, то скорее всего вы увидите на странице Gii ошибку доступа 403.
@@ -472,7 +472,7 @@ $config['modules']['gii'] = [
472472
- пространство имени `frontend\models`
473473

474474
остальные поля оставляем как есть.
475-
Нажмём кнопку Preview (предпросмотр) и посмотрите `models\Interview.php` будущий код. После этого нажмите Generate.
475+
Нажмите кнопку Preview (предпросмотр) и посмотрите `models\Interview.php` - будущий код. После этого нажмите Generate.
476476
Всё наша модель создана и доступна по `/yii2-app-advanced/frontend/models/Interview.php`. Gii всё же не всесилен и
477477
потребуется внести некоторые изменения в модель. Добавим элемент "проверочный код" - `verifyCode`, как свойство модели:
478478

scripts/steps/step-001.0.md

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,23 @@
22

33
Неотъемлемой частью разработки масштабного приложения служит тестирование тех или иных частей этого приложения.
44
Есть даже методика разработки приложений, которая тесно связана с тестированием - разработка через тестирование. Возможно,
5-
вы знакомы с ней как <a href="https://en.wikipedia.org/wiki/Test-driven_development" target="_blank">TDD</a>.
5+
вы знакомы с ней - <a href="https://en.wikipedia.org/wiki/Test-driven_development" target="_blank">Test-driven development (TDD)</a>.
66

77
Разработчики и сообщество Yii приложило много усилий, чтобы можно было максимально просто покрыть тестами необходимый код.
88

9-
Раньше, например когда создавали форму опрос, приходилось открывать браузер, заполнять форму выдуманными данными, проверять
10-
результат. Добавляли успешный вывод сообщения, в виде результата - опять открывали форму, заполняли данными, проверяли
11-
результат. Добавили, поведение к форме - опять проверяли, открывая форму и вводя данные. Сохраняли результат в базе данных -
12-
приходилось смотреть сохранились ли данные корректно. Всё это наверное вам знакомо. Возможно, вам приходится такое проделывать,
9+
Раньше, когда создавали форму опрос, приходилось открывать страницу с формой, заполнять её выдуманными данными, проверять
10+
результат. Добавляли код для вывода сообщения о успешном результате - опять открывали страницу с формой, заполняли её, проверяли
11+
результат. Добавляли поведение к форме - опять проверяли результат, открывая страницу с формой и заполняя её. Сохраняли результат в базе данных -
12+
приходилось проверять сохранились ли данные корректно. Возможно, вам приходится такое проделывать каждый раз,
1313
когда разрабатывается тот или иной функционал. А когда приложение становится масштабным, уже боязно вносить изменения
14-
в код. Так как далее приходится тратить много времени, чтобы пройтись по некоторым страницам сайта и проверить
15-
вручную всё ли работает как требуется. И часто, спустя несколько дней, кто-нибудь сообщает, что то что, когда-то работало,
14+
в код потому, что далее приходится тратить много времени и сил, чтобы пройтись по некоторым страницам сайта и вручную
15+
проверить, всё ли работает как требуется. И часто, спустя несколько дней, кто-нибудь сообщает, что то что, когда-то работало,
1616
перестало работать. И опять тратиться время на выяснение причины неисправности, а так как изменения вносились несколько
17-
дней назад, то поиск истиной причины становится мукой. Или причина неисправности определяется неверно и в результате
17+
дней назад, то поиск истиной причины становится мукой. А бывает причина неисправности определяется неверно и в результате
1818
добавляется "костыль", который исправляет проблему.
1919

20-
Может вы к этому привыкли и вас всё устраивает. Но что, если про это всё забыть и использовать всего лишь одну команду:
20+
Может вы к этому привыкли и вас всё устраивает. Но что, если про это всё забыть и использовать всего лишь одну команду,
21+
которая выполнит все проверки в самых нежных и уязвимых местах приложения:
2122

2223
```
2324
codecept run
@@ -26,17 +27,19 @@ codecept run
2627
Всё! Больше ничего. Запустив команду, после очередного изменения кода и не увидев ни одной ошибки в результатах, вы можете
2728
со спокойной душой сообщить всем, что всё работает, как того требует техническое задание.
2829

29-
В этой главе посмотрим, что скрывается под командой `codecept run`. Чтобы начать, выполните команду из
30-
директории yii2-tutorial:
30+
В этой главе посмотрим, что скрывается под командой `codecept run`.
31+
32+
Для подготовки кода в соответствии с этой главой, выполните команду из директории yii2-tutorial:
3133

3234
```
3335
git checkout -f step-1.0
3436
```
3537

36-
37-
<p class="alert alert-info">Под Windows вместо стандартной командной строки cmd лучше использовать другой интерпретатор.
38-
Тот который использует подсветку кода, например <a href="http://gooseberrycreative.com/cmder/" target="_blank">Cmder</a>.
39-
Если у вас возникли проблемы с кодировкой в командной строке, то попробуйте выполнить в ней команду "chcp 65001".
38+
<p class="alert alert-info">Работая под Windows вместо стандартной командной строки cmd удобнее использовать другой
39+
интерпретатор, который использует подсветку кода. Например <a href="http://www.conemu.ru/" target="_blank">ConEmu</a>, он
40+
идёт в комплекте с <a href="http://open-server.ru/" target="_blank">OpenServer</a> или
41+
<a href="http://gooseberrycreative.com/cmder/" target="_blank">Cmder</a>. Если у вас возникли проблемы с кодировкой
42+
в командной строке, то попробуйте выполнить в ней команду "chcp 65001".
4043
</p>
4144

4245
#### Codeception
@@ -46,7 +49,7 @@ Codeception основан на php фреймворке для тестиров
4649
Вся настройка Codeception сводится к следующим шагам:
4750

4851
- создайте директорию `codecept`, где посчитаете нужным (не внутри учебника)
49-
- создайте в этой директории `composer.json`:
52+
- создайте в этой директории `composer.json` со следующим содержанием:
5053
```
5154
{
5255
"require": {
@@ -59,7 +62,7 @@ Codeception основан на php фреймворке для тестиров
5962
- запустите команду `composer install` из этой директории
6063
- после установки всех зависимостей, настройте переменную
6164
<a href="https://ru.wikipedia.org/wiki/PATH_%28%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F%29" target="_blank">
62-
PATH</a> на директории `codecept\vendor\bin\`, чтобы команда codecept была доступна из любого места.
65+
PATH</a> на директории `codecept\vendor\bin\`, чтобы команда `codecept` была доступна глобально.
6366

6467
Теперь можно выполнить команду `codecept -V`, чтобы увидеть версию Codeception и убедиться, что он успешно установлен.
6568

@@ -101,7 +104,7 @@ Codeception поддерживает следующие виды тестов:
101104
`acceptance, functional, unit` директории, которые хранят тесты в зависимости от их видов. `_output` - это директория, в
102105
которую будет попадать результат эмуляции браузера (html код страницы) для функциональных тестов, в случае ошибки.
103106

104-
В Codeception есть понятие "Исполнители тестов". Из названия понятно, для чего они. Для того, чтобы их создать
107+
В Codeception есть понятие "Исполнители тестов". Для чего они? Из названия понятно. Перед их созданием
105108
необходимо произвести их инициализацию. В директории `tests/codeception/frontend`
106109
необходимо выполнить `codecept build`. Создадутся файлы:
107110

@@ -142,10 +145,10 @@ OK (6 tests, 49 assertions)
142145
codecept run functional
143146
```
144147

145-
после очередного рефакторинга кода, можно с уверенностью сказать, корректно ли работает сайт. А не бродить по сайту в поисках
146-
"А не поломал ли я чего-нибудь?". В этом и есть одна из приятных особенностей тестирования.
148+
после очередного рефакторинга кода, можно с уверенностью сказать, корректно ли работают эти части сайта. Больше не нужно
149+
бродить по сайту в поисках "А не поломал ли я что-нибудь?". В этом и есть одна из приятных особенностей тестирования.
147150

148-
Также можно попробовать запустить модульные тесты:
151+
Также можно попробовать запустить модульные(юнит, unit) тесты:
149152

150153
```php
151154
codecept run unit
@@ -186,16 +189,23 @@ http://localhost:8888/yii2-app-advanced/. Сделайте это.
186189

187190
А сейчас, когда PhpBrowser настроен, можно пробовать запускать и приёмочные тесты.
188191

189-
Запуск отдельных тестов, сокращает время ожидания выполнения. Codeception поддерживает: запуск всех тестов,
190-
запуск тестов по видам и запуск отдельных тестов. Например, для `yii2-app-advanced/tests/codeception/frontend` можно
191-
выполнить:
192+
Запуск отдельных тестов, сокращает время ожидания выполнения. Codeception поддерживает:
193+
194+
- запуск всех тестов;
195+
- запуск тестов по видам;
196+
- запуск отдельных тестов.
197+
198+
Например, для `yii2-app-advanced/tests/codeception/frontend` можно выполнить:
192199

193200
```
194201
codecept run
195202
codecept run functional
196203
codecept run functional functional\InterviewCept.php
197204
```
198205

206+
В разделе [Сохранение реляционных данных](/scripts/index.php?c=step-1.3) присутствует пример как проверить работоспособность
207+
формы с помощью тестирования.
208+
199209
#### Дополнительная информация для самостоятельного ознакомления:
200210

201211
- <a href="https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D1%82%D1%80%D0%B5%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" target="_blank">Экстремальное программирование</a>.

0 commit comments

Comments
 (0)