CodeIgniter "Active Record" - это не то, что представляет собой настоящая активная запись. Активная запись похожа на вашу базу данных в форме PHP. вы взаимодействуете с ним с помощью PHP, чем с помощью SQL запросов. это похоже на ощущение, что данные базы данных находятся в PHP, а не в базе данных.
В CI их активная запись - это просто старый «построитель запросов», который строит ваш SQL-запрос чистым, выглядящим ООП-способом и возвращает чисто отформатированный результат благодаря нескольким методам, которые форматируют его по вашему вкусу (например, result_array()
для результата в формате массива или result()
для результата в формате объекта).
Активная запись - это подход к доступу к данным в базе данных. Таблица базы данных или представление помещаются в класс. Таким образом, экземпляр объекта привязывается к одной строке в таблице. После создания объекта новая строка добавляется в таблицу при сохранении. Любой загруженный объект получает информацию из базы данных. Когда объект обновляется, соответствующая строка в таблице также обновляется. Класс-оболочка реализует методы доступа или свойства для каждого столбца в таблице или представлении.
Фреймворк В CodeIgniter есть построитель запросов, который он называет «ActiveRecord», но который не реализует шаблон ActiveRecord. Вместо этого он реализует то, что в руководстве пользователя называется измененной версией шаблона. Функциональность ActiveRecord в CodeIgniter может быть достигнута с помощью библиотеки CodeIgniter DataMapper или CodeIgniter Gas ORM. (Википедия)
CI также использует сеансы, так же как и сеансы PHP, разница составляет , где он хранится .
Когда страница загружена, класс сеанса проверяет, существуют ли допустимые данные сеанса в файле cookie сеанса пользователя. Если данные сеанса не существуют (или если их срок действия истек), новый сеанс будет быть создан и сохранен в cookie. Если сеанс существует, его информация будет обновлена, а файл cookie будет обновлен. С каждым обновлением session_id будет обновляться. (http://codeigniter.com/user_guide/libraries/sessions.html)
в отличие от PHP, где данные сеанса остаются на сервере и идентифицируются с помощью отправленного файла cookie или переданного идентификатора сеанса, CI кодирует свои данные сеанса в сам файл cookie. именно поэтому вам необходим сеансовый «ключ» перед использованием сеансов для шифрования данных сеансов, поскольку хранение сеансов в cookie-файлах небезопасно . почему они это делают, я не знаю, может быть, для оптимизации сервера и предотвращения хранения на нем данных, жертвуя скоростями загрузки