CodeIgniter 3, Модели

Моделитепо избор са достъпни за тези, които искат да възприемат по-традиционен MVC подход.

Какво е модел?

Моделите са PHP класове, които са проектирани да работят с информацията във вашата база данни. Например, да кажем, че използвате CodeIgniter за управление на блог. Можете да имате клас модел, който съдържа функции за вмъкване, актуализиране и извличане на вашите данни от блога. Ето пример за това как може да изглежда такъв модел на клас:

Методите, описани в горния пример, използват Query Builder (Query Builder) на базата данни на метода.

За простота в този пример използваме $_POST директно. Това като цяло е лоша практика и по-добър подход може да бъде използването на входната библиотека $this->input->post('title') .

Анатомия на модела

Класовете на модела се съхраняват в папкатаapplication/models/. Те могат да бъдат вложени в поддиректории, ако желаете да използвате този тип организация.

Основен прототип за клас модел:

КъдетоModel_name е името на класа. Имената на класовететрябва да имат първата буква с главна буква, а останалите с малки. Уверете се, че вашият клас разширява класа на основния модел.

Името на файла трябва да съвпада с името на класа. Например, ако класът е:

Вашият файл ще бъде така:

Зареждане на модела

Вашите модели обикновено се зареждат и извикват от вашия контролер. За да заредите модела, използвайте следния метод:

Ако вашият модел е в поддиректория, пътят трябва да е относителен спрямо модела на директорията. Например, ако имате модел, намиращ се в application/models/blog/Queries.php, можете да го заредите с:

Ако искате вашият модел да има различно име на обект, можете да го посочите сизползвайки втория параметър на метода на зареждане:

Ето пример за контролер, който зарежда модел, след което изобразява изглед:

Автоматично зареждане на модели

Ако смятате, че имате нужда от конкретен модел за цялото ви приложение, можете да кажете на CodeIgniter да го зарежда автоматично при стартиране на системата. Това става чрез отваряне на файлаapplication/config/autoload.php и добавяне на модела към масива за автоматично зареждане.

Връзка с база данни

Когато моделът се зареди, тойНЕ се свързва автоматично с базата данни. За свързването му са налични следните опции:

Можете да се свържете с помощта на стандартните методи за база данни, описани тук, или в класа на контролера или класа на модела.

Можете да посочите модели в метода за автоматично свързване, като прехвърлите стойността TRUE (булева) през третия параметър и настройките за връзка, които са дефинирани в конфигурационния файл на базата данни:

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