Yii2. Основні моменти

Відмінності та поліпшення у Yii2 порівняно з Yii1. З розвитком фреймворку життя стає цікавішим

  • Головна
  • Блог
  • Yii2. Основні моменти

імен

1. У Yii2 все будується наnamespace. Namespace – це простір імен, така штука, введена в PHP з версії 5.3.0. Вивчіть докладніше простір імен. Вони потрібні для зручної організації роботи у фреймворку - дозволяють організовано звертатися до класів, уникнути конфлікту імен нашого коду та коду фреймворку та PHP; покращити читаність коду (один раз оголошуємо namespace і далі використовуємо коротку назву замість повного шляху до потрібного класу).

2. Видалено префікс "C" з імен файлів. Тепер не треба писати CGridView, CListView і т.д., а просто GridView, ListView.

3. Підключення модулів у конфіге використовується параметр 'class'

4. Зручно використовувати задані аліаси для налаштування шляхів до директорій "@app, @www, @wwwroot". Або створити свої аліаси.

5. У моделі введений метод scenarios(), для визначення правил валідації для конкретних сценаріїв

6. Для звернення до моделі не використовувати ->model(), це прибрали, і тепер робота з моделлю відбувається, як і з іншим звичайним класом:

7. В ActiveRecord прибрані scopes(), вони замінені на звичайні методи AR моделі та мають наступний вигляд

8. Змінено relations(). Тепер задаються у вигляді гетерів hasOne(), hasMany()

9. Події. Для того щоб визначити подію, достатньо в потрібному місці викликати «trigger()» функцію, а вже потім у потрібному місці задати для події обробник.

10. View. Тепер простіше називативидами, а неуявленнями. У Yii2 з'явився новий клас, який відповідає за всі види програми, і який безпосередньо виконує виведення інформації. Тепер у view файлах змінна "$this" відноситься вже не до контролера, а саме до нового класу "yii\base\View". Для того, щоб викликати певну функцію контролера або віджету, до якого належить уявлення, потрібно звернутися до методу: "context".

11. Widgets.Віджети були доповнені новими методами, плюс тепер вони повинні бути безпосередньо виведені через echo.

12. Action Filters. Фільтри. У новій версії фільтри контролерів реалізовані як «behaviors».

13. Active Form. Форми тепер створюються ще швидше та зручніше, за рахунок ActiveField класу, який спрощує стиль написання коду.

14.User та Identity. Робота з користувачами. Тепер здійснюється через клас "yii\web\User" та інтерфейс "yii\web\Identity", що більш гнучко у використанні. Через ці зміни атрибути користувача можна отримати через метод «identity» користувача.