Yii2 framework backup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

3.6 KiB

Проектні рішення

Цей документ перелічує проектні рішення, які були прийняті командою розробників після широких дискусій. Допоки немає дуже вагомих причин, ці рішення повинні дотримуватись для узгодженості. Для будь-якої зміни у цих рішеннях необхідно отримати згоду команди головних розробників.

  1. Коли підтримувати псевдоніми шляху? Псевдоніми шляху повинні підтримуватися для властивостей, які можна сконфігурувати, тому-що використання псевдонімів шляху у конфігураціях дуже зручно. В інших випадках, потрібно обмежувати підтримку псевдонімів шляху.
  2. Коли перекладати повідомлення? Повідомлення повинні перекладатись, якщо вони показуються кінцевому користувачу та мають для нього значення. Повідомлення статусу HTTP, виключення і т. п. не повинні перекладатись. Повідомлення консолі завжди англійською мовою, через труднощі обробки кодування та кодової сторінки.
  3. Додавання підтримки нового клієнту аутентифікації Для кращого супроводу, ніякі додаткові клієнти аутентифікації не будуть додаватись до базового розширення. Вони повинні бути виконані у вигляді користувацьких розширень.
  4. При використанні замикань, рекомендується вказувати всі параметри, які передаються, у сигнатурі, навіть, якщо не всі з них використовуються. Таким чином змінювати чи копіювати код легше, тому-що вся інформація перед очима та нема потреби переглядати документацію для пошуку доступних параметрів. (#6584, #6875)
  5. Надавайте перевагу int замість unsigned int у схемі бази даних. Використання int має перевагу, бо може бути представлене в PHP як число. Щоб представити unsigned, для 32-розрядної системи необхідно використовувати текстовий рядок. Але також unsigned int подвоює діапазон позитивних чисел. Якщо у вас є таблиця, яка потребує такий великий числовий простір, то безпечніше використовувати bigint або mediumint, а не покладатися на unsigned. https://github.com/yiisoft/yii/pull/1923#issuecomment-11881967