Yii framework 2

Я досить давно працюю з Yii Framework і мені він дуже подобається. З моменту виходу Yii2 я декілька разів (якщо бути точним, то 3-4 рази) хотів його спробувати, але постійно стикався з проблемою установки (та, у мене не виходило його нормально встановити), на цьому все закінчувалося, відпадали всяке бажання працювати з ним далі. Але сьогодні я вирішив дійти до кінця, чого б мені це не коштувало, а там видно буде.

Yii framework 2

Увага! Для роботи Yii2 у Вас повинна бути версія PHP 5.4 або вище (якщо у Вас версія PHP нижчою ніж 5.4, то встановіть необхідну версію, причому враховуйте відмінності в синтаксисі мови в залежності від версії).

Для установки Yii2 необхідно встановити Composer (Як встановити Composer можна подивитися тут: кодер.укр / запису / установка_composer_на_windows).

Перед тим як приступити до установки Yii2, необхідно на github створити токен, інакше при установці Composer буде питати цей токен і все на цьому закінчитися.

Для цього заходимо на сайт github.com (я сподіваюся Ви там зареєстровані, якщо немає, то зареєструйтеся).

Yii framework 2

Тиснемо кнопку "Generate new token":

Yii framework 2

Вводимо назву для нашого токена в поле "Token description" і тиснемо "Generate token":

Yii framework 2

Скопіюйте токен і збережіть його в безпечне місце, він може ще стане в нагоді:

Yii framework 2

Відкриваємо консоль і вводимо команду:

де - Ваш токен

Тиснемо Enter. Все токен доданий, переходимо до установки Yii2.

Переходимо в папку куди необхідно встановити yii2. Вводимо команду для встановлює плагін composer asset plugin (для управління залежностями пакетів bower і npm через Composer, команду вводимо один раз):

Yii framework 2

І тут моя перша помилка, я не звернув уваги на проблему версії php. А зауважив я це тільки під час написання статті, ну да ладно, вирішив уже написати.

Якщо Ви побачили сайт, то все ок.

У мене було таке помилка:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in Z: \ home \ yii2.test.local \ www \ basic \ web \ index.php on line 12

Yii framework 2

The path to yii framework seems to be incorrect.

You need to install Yii framework via composer or adjust the framework path in file requirements.php.

Please refer to the README on how to install Yii.

Warning: require_once (Z: \ home \ yii2.test.local \ www \ basic / vendor / yiisoft / yii2 / requirements / YiiRequirementChecker.php) [function.require-once]: failed to open stream: No such file or directory in Z: \ home \ yii2.test.local \ www \ basic \ requirements.php on line 23

Fatal error: require_once () [function.require]: Failed opening required 'Z: \ home \ yii2.test.local \ www \ basic / vendor / yiisoft / yii2 / requirements / YiiRequirementChecker.php' (include_path = '.; D : \ web \ usr \ local \ php5 \ pear ') in Z: \ home \ yii2.test.local \ www \ basic \ requirements.php on line 23

Yii framework 2

Yii framework 2

З скриншота видно, що необхідно встановити PHP 5.4 або вище. Так як я користуюся (користувався) denwer і виявив, що там PHP 5.4 немає. Вирішив встановити OpenServer (та я не переймаюсь з чистою установкою PHP, Apache, MySql)

Встановили. Запускаємо, в настройках вказуємо PHP 5.6 і Apache 2.4 (інакше PHP 5.6 не працюватиме). І тому в треї правою кнопкою миші натискаємо по значку OpenServer і вибираємо пункт, настройки:

Yii framework 2

І вказуємо необхідні настройки модулів:

Yii framework 2

Тепер переходимо в папку OpenServer / domains і створюємо там папку для проекту (у мене це yii2.ostest.local), копіюємо туди папку basic. Запускаємо OpenServer.

Yii framework 2

Знову помилка, так що ж таке:

Invalid Configuration - yii \ base \ InvalidConfigException

yii \ web \ Request :: cookieValidationKey must be configured with a secret key.

Yii framework 2

Тут проблема в тому, що потрібно задати секретний ключ (cookieValidationKey), він потрібен для валідації cookie. За ідеї він повинен був заповнитися автоматично при установки за допомогою композер, але щось пішло не так. Способів вирішення цієї помилки 2:

Перший спосіб, задати ключ руками:

Другий спосіб, відключити його:

Yii framework 2

Ось як виглядає стартова сторінка в Yii2 :)

Yii framework 2

Перевіряємо, переходимо на внутрішні сторінки, все ок.

Після цього у з'явилася ідея, може проблема з установкою була через те, що у мене спочатку версія PHP була 5.3.

Yii framework 2

Вирішив я цю справу перевірити. У OpenServer є своя консоль, тобто php в змінні середовища додавати не треба, добре, запускаємо цю консоль.

Для запуску вбудованої консолі необхідно натиснути правою кнопкою миші по іконці OpenServer в треї, вибрати пункт меню "Додатково", "Консоль" [Меню → Додатково → Консоль].

Yii framework 2

Переходимо в папку з проектом. Я так розумію у OpenServer свій Composer, тому виконаємо всі кроки спочатку. Додамо токен командою:

де - Ваш токен, який ми згенерували спочатку статті.

Yii framework 2

Виконаємо установку плагін composer asset plugin:

Встановлюємо Yii2 basic командою:

Чекаємо поки встановитися

Yii framework 2

Готово. Перевіряємо, виходячи з помилок, які у мене були раніше, я спочатку перевірю чи створена папка vendor. Ага є така папка. Тепер перевірю чи був згенерований ключ cookieValidationKey. відкриваю файл config / web.php. Про чудо і він є 'cookieValidationKey' => 'sddsEPwb7KjtUp-3K8Q4SkuKucLvRw2r'.

Ну тепер запускаємо браузер і відкриваємо проект. Все працює)

Yii framework 2

Відмінно. Все таки версія PHP при установки вплинула, а може ще щось. Оскільки у OpenServer свій php, composer та інше.

Тепер встановимо версію advanced. Але спершу треба розібратися в чому ж різниця між basic і advanced.

Якщо по простому, то basic - це один додаток, advanced - це 3 додатка (frontend, backend, console) і папка common, для загальних класів.

Начебто розібралися, перейдемо до установки, виходячи з досвіду описаного вище. Створюємо папку для проекту (у мене це yii2.test3.local), перезапускаємо OpenServer, переходимо в папку проекту (в консолі) і вводимо команду установки Yii2 advanced в консоль:

Чекаємо поки встановитися. Далі необхідно виконати ініціалізацію проекту, для цього виконуємо команду:

Вибираємо Development (0), вводимо yes

Yii framework 2

Yii framework 2

Далі створюємо БД в phpMyAdmin. І налаштовуємо з'єднання з нею. Для цього необхідно відкрити файл yii-application / common / config / main-local.php. І ввести необхідні параметри.

Тепер необхідно застосувати міграцію (для перенесення стандартних таблиць migration і user в нашу БД), в консолі переходимо в папку yii-application і виконуємо команду:

Yii framework 2

Все, проект готовий до працює