CodeIgniter 4 База данни

база

Работата по класа за абстракция на базата данни все още продължава, въпреки че вече можете да разгледате някои примери и да си дадете представа как ще работят нещата след това.

Накратко за основното

В момента вече има всичко, с което можем да се свържем с базата данни и да произвеждаме заявки, да използваме Query Builder - клас за изграждане на заявки. Засега се работи по Query Caching - клас за кеширане на заявки, както и Database Forge - помощен клас за работа с база данни и нейните таблици.

Въпреки доста големия брой промени, използването ще бъде доста познато и удобно.
Имената на методите вече използват камилски стил вместо змийски. Query Builder ще работи както обикновено, ще трябва да се научат само нови функции. Това е много добре, защото не е нужно да се преучавате и да свиквате с новия синтаксис. Но помислете за пример за промени.

Конфигурация

Конфигурационните файлове ще останат същите по структура като старите. Докато не се наложи да ги сменим и да измислим нещо ново.
Но тук имаше малка промяна. Ако по-рано файлът просто е изброил елементите на масива, сега е прост клас със същия масив.

Чисти заявки

Изграждането на чисти заявки без използване на инструмента Query Builder е лесно. Трябва да получите екземпляр на базата данни, да стартирате метода query () и да получите желания резултат.

Тук трябва да се спомене, че функцията num_rows () е премахната.
Преди това беше обезкуражен поради ужасните проблеми с производителността и паметта при използването му.

Вместо това всички методи * () връщат празни масиви, ако няма резултати, докато всички методи * () не връщат null.

Пример с параметър за обвързване на заявка:


Параметърът за обвързване получи нов трик, с имена на параметри:


Всички стойности автоматично се избягват. Следователно всички заявки са безопасни.

Запазени заявки

Една от най-големите промени в слоя на базата данни е, че всички заявки се съхраняват в историята като обекти на заявка, вместо низове в масив. Това частично ще изчисти кода, ще позволи по-гъвкаво кеширане на заявки и т.н.
Например, ако трябва да получите $ db-> getLastQuery (), тогава в резултат ще получите обект на заявка, а не низ.

Конструктор на заявки

Query Builder работи по начина, по който всички са свикнали, с една голяма промяна. Query Builder се превърна в собствен клас, а не в част от файловете на драйверите.

Какво друго ще бъде?

Нови методи на QueryBuilder - ще бъде добавено след като Лони разузнава други рамки:) Това ще ви позволи да видите какви полезни функции могат да бъдат приложени.

По-долу е даден кратък списък с нови функции:

  • first () - методът за получаване на първия резултат е удобен метод за получаване на първия резултат.
  • инкремент () и декремент () методи
  • chunk () - метод за цикъл през всички резултати от заявката. Позволява ви да обработвате огромен брой редове, без да убивате сървъра и без да причинявате проблеми с паметта.

Подобрен модел - CodeIgniter 3 все още има клас CI_Model, за да осигури лесен достъп до останалата част от рамката, достъп до библиотеки и т.н.
CodeIgniter 4 няма да има нито CI_file, нито MY_file.

Страничен изход - тази идея е взета от Laravel и ще работи заедно с новия модел, така че да можете да го направите точно така:

Свързани връзки

Можете да помогнете и да прехвърлите някои средства за разработването на сайта