CodeIgniter 3, Заредете клас

Loader, както подсказва името, се използва за зареждане на елементи. Тези елементи могат да бъдат библиотеки (класове), изглед на файлове, драйвери, помощници, модели или ваши собствени файлове.

Този клас се инициализира автоматично от системата, така че не е необходимо да се включва ръчно.

„Пакети“ на приложението

Софтуерният пакет улеснява разпространението на готови ресурси в една директория със собствени библиотеки, модели, помощници, конфигурации и езикови файлове. Препоръчително е тези пакети да бъдат поставени в директорията application/third_party. По-долу е дадена примерна карта на директорията на пакета.

Примерът по-долу е за директория с пакети на приложения, наречена „Foo Bar“.

Независимо от целта, пакетът с приложения Foo Bar има свои собствени конфигурационни файлове, помощници, езикови файлове, библиотеки и модели. За да използвате тези ресурси в контролери, първо трябва да кажете на Loader кой ресурс ще заредите от пакет, като добавите пътя към пакета с помощта на метода add_package_path().

Преглед на файловия пакет

По подразбиране пакетът за преглед на файла е зададен, когато се извика add_package_path(). Търсенето на пътя зацикля и един ден ще се срещне вече зареден елемент.

В този случай може да има конфликт на имена в пакетите и възможно е да е зареден грешен пакет. За да се предпазите от това, задайте незадължителния втори параметър на FALSE, когато извиквате add_package_path().

Настройки на класа

  • $library (смесено) – Име на библиотеката като низ или като масив с множество библиотеки
  • $params (масив) – Допълнителен масив от параметри за предаване на заредената библиотека към конструктора
  • $object_name (низ) - По изборимето на обекта, на който да преименувате библиотеката

Екземпляр на CI_Loader (верига от методи)

Този метод се използва за зареждане на основните класове.

Ние използваме термините "клас" и "библиотека" взаимозаменяемо.

Например, ако искате да изпратите имейл с codeigniter, първата стъпка е да заредите имейл контролера на класа:

След като библиотеката бъде заредена, тя ще бъде готова за използване чрез $this->имейл.

Можете да го изтеглите с:

Можете да прикачите файла към колкото искате поддиректории.

Освен това множество библиотеки могат да бъдат заредени едновременно чрез предаване на масив от библиотеки към метода за зареждане.

Настройки

Вторият (незадължителен) параметър ви позволява по избор да подадете конфигурационен параметър. Обикновено се компресира като масив:

Настройките обикновено могат да се задават и чрез конфигурационен файл. Всяка библиотека е описана подробно в собствен раздел, така че, моля, прочетете информацията за всяка, преди да я използвате.

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

Даване на библиотека с различно име

Ако третият (незадължителен) параметър е празен, тогава на библиотеката обикновено се присвоява обект със същото име като библиотеката. Например, ако библиотеката се нарича календар, тогава тя се присвоява на променлива с име $this->calendar.

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

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

  • $library (смесено) – Име на библиотека като низ или масив с множество библиотеки
  • $params (масив) – Незадължителен масив от параметри за предаване към конструктора на заредената библиотека
  • $object_name (низ) – Незадължително име на обект, към който да присвоите библиотеката

Екземпляр на CI_Loader (верига от методи)

Този метод се използва за зареждане на драйвери за библиотека, като действа много подобно на метода библиотека().

Например, ако искате да използвате сесии с codeigniter, първата стъпка е да заредите драйвера на сесията в контролера:

Веднъж заредена, библиотеката е готова за използване чрез $this->session.

Файловете на драйвера трябва да се съхраняват в поддиректория на главната директория "библиотеки" или във вашата лична директория за приложения/библиотеки. Поддиректорията трябва да съответства на името на родителския клас. Прочетете описанието на драйверите за подробности.

Освен това множество библиотеки с драйвери могат да бъдат заредени едновременно чрез предаване на масив от драйвери към метода за зареждане.

Настройки

Вторият (незадължителен) параметър ви позволява по избор да подадете конфигурационни параметри. Обикновено се предава като масив:

Настройките обикновено могат да се задават и чрез конфигурационен файл. Всяка библиотека е описана подробно в собствен раздел, така че, моля, прочетете информацията за всяка, преди да я използвате.

Дайте на драйвера друго име

Ако третият (незадължителен) параметър е празен, тогава на библиотеката обикновено се присвоява обект със същото име като библиотеката. Например, ако библиотеката е наречена Sessions, тогава тя се присвоява на променлива с име $this->session.

Ако искате да дефинирате свои собствени имена на класове, виеможете да предадете техните стойности като трети параметър:

  • $view (низ) – Име на изглед
  • $vars (масив) – Асоциативен масив от променливи
  • $return (булев) – Дали да се върне зареденият изглед

Преглед на съдържанието на низ, ако $return е зададен на TRUE, в противен случай екземпляр на CI_Loader (верига от методи)

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

Първият параметър е задължителен. Това е името на файла за преглед, който искате да заредите.

Разширението на файла .php не е необходимо да се посочва, освен ако не използвате нещо различно от .php.

Вториятнезадължителен параметър може да приеме асоциативен масив или обект като вход, който се изпълнява чрез функцията extract() на PHP за преобразуване на променливи, които могат да се използват във файлове за преглед. Отново прочетете страницата Прегледи, за да видите как това може да бъде полезно.

Третиятнезадължителен параметър ви позволява да промените поведението на метода, така че да връща данни като низ, вместо да ги изпраща на браузъра. Това може да бъде полезно, ако искате да обработвате данните по различен начин. Ако зададете параметъра на TRUE (булев), той ще върне данните. По подразбиране е FALSE, което го изпраща до браузъра. Не забравяйте да го присвоите на променлива, ако искате данните да бъдат върнати:

  • $vars (смесен) – Масив от променливи (или едно име на променлива)
  • $val (смесен) – Незадължителна стойност на променлива

Екземпляр на CI_Loader (верига от методи)

Този метод приема асоциативен масив като вход игенерира променливи с помощта на функцията extract() на PHP. Този метод дава същия резултат като използването на втория параметър в метода $this->load->view() по-горе. Причината да използвате този метод е, ако искате да зададете някои глобални променливи в конструктора на вашия контролер и те да станат достъпни във всеки изглед файл, зареден по какъвто и да е начин. Можете да имате няколко извиквания към този метод. Данните влизат в кеша и се комбинират в един масив за трансформация на променливи.

  • $key (низ) – Име на променлив ключ

Стойност, ако ключът е намерен, NULL, ако не

Този метод проверява асоциативен масив от променливи, достъпни за вашите изгледи. Това е полезно, ако по някаква причина променливата е в библиотека или друг контролер използва метода $this->load->vars().