Обновление версии 2019-1-11 V5.0.24
Данное обновление содержит одно безопасное обновление. Рекомендуется обновить версию.
- Улучшен связанный метод save.
- Улучшена проверка модели данных.
- В коллекцию добавлен метод values.
- Улучшен метод unique проверки.
- Улучшён метод method класса Request.
Обновление версии 2018-12-9 V5.0.23
Основное изменение в этом обновлении — это безопасное обновление, которое рекомендуется обновить как можно скорее.
- Поддержка вызова модели в запросе Query.
- Поддержка поля DISTINCT в агрегированном запросе.
- Улучшение параметров в закрытии проверки.
- Много-ко-многим связанным данным можно указать имя промежуточной таблицы.
- После/до проверки можно указать поле для проверки.
- Улучшено много-ко-многому связанному.
- Улучшены правила проверки.
- Добавлены правила afterWith и beforeWith для сравнения дат.
- Усовершенствованы подсказки правил.
- Улучшено переподключение после обрыва соединения.
- Исправлен метод destroy для мягкого удаления.
- Исправлено, что данные не проверяются, если переменная data пуста в методе save модели.
- Модель имеет метод replace.
- MorphOne имеет метод make для создания связанного объекта.
- Изменён тип возвращаемого значения метода count.
- Улучшено регулярное выражение в агрегатном запросе.
- Улучшения в драйвере sqlsrv.
- Доработано связанное сохранение.
- Исправлена ошибка в получении имени контроллера.
Обновление версии 2018-10-22 V5.0.22
В этой версии добавлена поддержка формата журнала JSON, а также одно безопасное обновление.
- Отключена маршрутизация в режиме отладки.
- Журнал Log поддерживает формат журнала json.
- Повышена безопасность агрегатного запроса.
- Тип возвращаемого значения в методе count улучшен.
Обновление версии 2018-9-7 V5.0.21
Это обновление включает в себя некоторые исправления известных проблем, улучшение поддержки Swoole и добавление функции кэширования маршрутизации.
- Добавление функции кэширования маршрутов.
- Проблема с портом в URL исправлена.
- Кэширование драйвера улучшено.
- Обработка кэша метода value улучшена.
- Метод insertAll класса Builder исправлен.
- Улучшена поддержка Swoole (используя ссылку: xavier-swoole).
Обновление версии 2018-5-11 V5.0.20
Эта версия является исправленной версией, которая исправляет некоторые известные проблемы.
- Условия поддержки метода join для передачи объекта Expression.
- Улучшен драйвер parseKey.
- Улучшен метод host класса Request.
- Исключение при использовании выражения exp для обновления данных.
- Запрос исправлен.
- Обновлён много-к-одному связанный промежуточный модельный объект.
Обновление версии 2018-4-25 V5.0.19
Данная версия представляет собой улучшенную версию, основное внимание уделяется улучшению автоматической загрузки composer и встроенного механизма шаблонов.
- Улучшенная автоматическая загрузка composer.
- Улучшенное обнаружение уязвимостей в механизме шаблонов.
- Улучшенный анализ комментариев.
- Улучшена проблема своевременного чтения данных после распределённой записи.
- Автоматическое преобразование операций URL улучшено.
- Магический метод разбиения на страницы возвращает значение улучшено.
- SQL журнал добавляет отметку главного и подчинённого.
Обновление версии 2018-4-14 V5.0.18
Основная цель этого обновления — исправить ошибки в предыдущем выпуске и улучшить строгость выражения exp.
- Поле метода * совместимо с исправлением.
- Методы inc/dec исправлены.
- setInc/setDec методы исправлены.
- insertAll метод улучшен.
- parseTime метод улучшен.
- Выражение exp улучшило строгость запроса/записи.
Обновление версии 2018-4-12 V5.0.17
Основные изменения в этом обновлении включают исправления и улучшения, а также безопасное обновление.
- Создание метода Response улучшено.
- inc/dec запрос улучшен.
- По умолчанию шаблон рендеринга поддерживает прямое использование имени метода операции.
- Визуализация улучшена.
- IP-адрес запроса поддерживает настройку прокси.
- create метод запроса исправлен.
- Закрытие запроса вызывает исключение при использовании cache(true).
- Автоматическая загрузка композитора улучшена.
- Класс Expression и связанные методы добавлены.
Обновление версии 2018-3-26 V5.0.16
Цель этого обновления — внести некоторые исправления и улучшения. Поскольку оно включает безопасное обновление, рекомендуется обновить эту версию.
- Генерация URL улучшена.
- Производительность автоматической загрузки композитора улучшена.
- Одно-к-одному запросу улучшено.
- Кэш запросов улучшен.
- field метод улучшен.
- Оптимизация класса Template.
- Параметр разбивки на страницы улучшен.
- Автоматическое распознавание шаблона по умолчанию улучшено.
- Query класс запроса улучшен.
- Collection класс улучшен.
- readTransform метод модели для обработки сериализации типа улучшен.
- Трассировка улучшена.
- Файл журнала поддерживает автоматическую очистку.
- Обнаружение обрыва соединения улучшено.
- Проверка улучшена.
- Определение массива таблиц в view методе Query класса исправлено.
- Связывание параметров улучшено.
- Удаление файла кэша улучшено.
- Безопасность обновления inc/dec/exp улучшена.
- Конфигурация консоли улучшена. Улучшения в Loader классе, методах controller и validate
- Улучшена многоязычная поддержка для сообщений об ошибках проверки.
- Добавлена многоязычная поддержка сообщений об ошибках для класса File.
- Исправлены проблемы с обработкой исключений при рендеринге шаблонов.
- Внесены улучшения в REST-контроллер.
- Усовершенствован trace-драйвер.
- Оптимизирован метод remember класса Cache.
- Решены проблемы с кодировкой URL при использовании метода url_common_param.
- Проведены улучшения в классе Url.
- Расширена поддержка замыканий в конфигурации параметра exception_handle.
- Перед выполнением команды RUNTIME_PATH проверяется наличие пути.
- Скорректировано поведение метода dec класса CacheDriver при пустом значении.
- Оптимизация отображения на мобильных устройствах.
- Улучшено взаимодействие с плагином JSON-Handle.
- Обновлён метод get класса redis.
- Доработаны методы host и request класса Request.
Версия 5.0.11 (2017-09-08)
Версия 5.0.11 является безопасной и содержит исправления и улучшения по сравнению с предыдущей версией. В ней были решены некоторые проблемы безопасности, а также внесены следующие изменения:
- Улучшен кэш-драйв.
- Переработаны запросы к базе данных.
- Обновлён класс генерации URL.
- Срок действия кэша теперь можно указать явно.
[База данных и модель]
- Обновлены классы драйверов базы данных.
- Разрешён конфликт ключевых слов в методе group.
- Исправлено некорректное возвращение null при агрегированных запросах.
- Класс Db теперь принудительно переподключается при необходимости.
- Улучшено связывание атрибутов.
- Исправлена проблема с прерыванием соединения и последующим восстановлением транзакций.
- Уточнены условия запросов для объектов.
- Метод clear добавлен в класс Db.
- Обработан случай с нулевым значением в условиях массива.
- Поддержка сортировки в методе chunk класса Query.
- Методы has классов HasOne и HasMany обновлены.
- Реализовано мягкое удаление связанных объектов.
- Обработка нескольких запросов к одному полю.
[Прочее]
- Срок действия кеша теперь может быть указан явно (с использованием типа DateTime).
- Генерация URL теперь поддерживает указание порта.
- Исключения RouteNotFound обрабатываются более корректно.
- Глобальное сопоставление маршрутов обеспечивает более полное соответствие.
- Частично исправлены ошибки в сообщениях об ошибках валидации.
- Обеспечена поддержка вывода XML-ответов для моделей и наборов данных.
- Тернарные операторы в шаблонах улучшены.
- Сообщения об ошибках при отсутствии контроллера стали более информативными.
- Функция input теперь поддерживает получение переменных route.
- Конфигурационные параметры могут быть прочитаны из дополнительных файлов конфигурации.
- Разбиение на страницы было доработано.
- Проблема с пространством имён Trait была решена.
- Метод env класса Request был обновлён.
- Предпочтение отдаётся многоязычным настройкам, указанным в Cookie.
- При получении меток кеша фильтруются недействительные метки.
- Ошибка в массовом регистрации маршрутов была исправлена.
- Параметр exception_handle теперь поддерживает использование замыканий для определения обработки render.
- Кеширование запросов теперь поддерживает настройку меток.
- Механизм блокировки добавлен в метод remember класса кеша.
- Загрузка SWF-файлов в Upload была улучшена.
- Префикс в Session теперь обрабатывается более точно.
Версия 5.0.10 (2017-07-04)
Версия 5.0.10 представляет собой корректирующую версию, включающую обновление безопасности и рекомендации по обновлению. Основные изменения включают:
- Улучшения в базе данных и моделях.
- Добавление новых функций мониторинга поведения.
- Маршрутизация теперь поддерживает настройку Response.
- Обновление отладки для защиты информации в базах данных.
[База данных и модели]
- Исправлен некорректный синтаксис удаления при объединении с другими таблицами.
- Коррекция удалённого доступа «один ко многим».
- Поддержка replace в insertall.
- Многоуровневые отношения «многие ко многим» теперь обрабатываются корректно.
- Модели автоматически обновляют поле update_time после сохранения.
- Модель теперь имеет метод removeRelation.
- Новые методы setInc и setDec добавлены в модели.
- Динамическая установка временных полей с помощью autoWriteTimestamp.
- Драйверы баз данных теперь корректно обрабатывают разрывы соединений.
- Отношения «многие ко многим» улучшены.
- Query теперь обрабатывает методы value и column более эффективно.
- Повторяющиеся значения в in-запросах теперь обрабатываются правильно.
- Проблемы с передачей значений в область видимости модели решены.
- Позиция проверки перед обновлением в save изменена.
- Модификаторы и геттеры теперь поддерживают третий параметр для связанных данных.
[Прочие]
- Отладка по умолчанию отключена.
- Ошибки загрузки временных файлов в extra-каталоге устранены.
- Мониторинг log_write_done добавлен для отслеживания завершения записи логов.
- Build теперь корректно определяет каталоги для создания файлов.
- Строка response_send добавлена для мониторинга отправки ответов.
- Маршрутизация поддерживает привязку параметров к обработке ответов.
- Redirect теперь корректно обрабатывает передаваемые параметры.
- Чтение логических значений из окружения теперь работает корректно.
- Domain в Url теперь обрабатывается корректно.
- Командные файлы теперь генерируются без ошибок.
- Генерация командных URL улучшена.
- App_host добавлен как параметр для установки корневого URL по умолчанию.
- isSsl в Request теперь корректно работает с CDN.
- Запись трассировки в журнал теперь настраивается через record_trace.
Версия 5.0.9 (2017-05-20)
Версия 5.0.9 представляет собой корректирующую версию с рекомендациями по обновлению. Основные обновления включают:
[База данных и модели]
- Автоматическое связывание теперь работает корректно.
- Проверка изменений в моделях теперь учитывает пустые значения.
- Использование useSoftDelete в Query возвращает корректные значения.
- Одноуровневые вложенные массивы теперь определяются правильно.
- Параметры, связанные с ручным связыванием, теперь корректно обрабатываются при использовании кеша.
- Один к одному теперь корректно обрабатывается вложенными запросами.
- Логика переподключения к базе данных при разрывах соединения улучшена.
- appendRelationAttr в моделях обновлён.
- Массивы данных в моделях обрабатываются корректно.
- Сохранение моделей теперь корректно учитывает allowField.
- Вывод данных для отношений «один ко многим» обновлён.
- save в моделях корректно обрабатывает пустые массивы.
- Страницы теперь имеют общее количество страниц в toarray.
- Сравнение операций теперь поддерживает замыкания в подзапросах.
- По умолчанию, db-помощник не пытается переподключиться к базе.
- BelongsToMany теперь корректно указывает поля для запросов.
- Каждая страница теперь имеет свой метод each.
[Прочее]
- Правила маршрутизации теперь корректно учитывают регистр.
- Журналы теперь корректно разделяются при генерации.
- URL-генерация теперь корректно кодирует параметры в маршрутах.
- Фильтр в Request теперь поддерживает регулярные выражения.
- Response теперь позволяет настраивать contentType вручную.
- Неопределённые функции в исключениях шаблонов теперь обрабатываются корректно. Запрос класса post метода поддерживает получение данных в формате JSON.
- Маршрутизация к классу метода и контроллеру метода поддерживает передачу дополнительных параметров, используемых для параметров метода.
- Улучшение автоматического поиска контроллера.
- Улучшение кэширования запросов.
- Улучшение привязки параметров.
- Исправление настроек кэша маршрутов.
- Улучшение метода name класса Route.
[База данных и модель]
- Добавление событий запросов базы данных (CURD).
- Улучшение обработки полей при обновлении нескольких таблиц.
- Улучшение использования метода useGlobalScope класса Model.
- Устранение проблемы с использованием подзапросов в качестве имён таблиц.
- Добавление свойства resultSetType в класс Model для указания типа объекта набора данных модели (по умолчанию возвращает пустой массив).
- Автоматическое использование метода toCollection в классе Model.
- Настройка ассоциаций моделей.
- Улучшение поддержки параметров lowerCamelCase и underscore для метода with.
- Устранение ошибки при использовании ассоциации «многие ко многим».
- Улучшение запросов ассоциации «многие ко многим».
- Поддержка полиморфной ассоциации «один ко многим».
- Предварительная загрузка связанных объектов с привязкой свойств текущего объекта модели.
- Возможность добавления свойств связанного объекта к текущему объекту модели.
- Использование JOIN и IN для быстрой загрузки ассоциации «один к одному» (по умолчанию используется JOIN).
- Улучшение запроса ассоциации «многие ко многим».
- Улучшение правил сравнения изменений данных при обновлении модели.
- Запрос с возможностью многократного использования одного поля в условиях.
- Улучшение ведения журнала SQL-запросов.
- Решение проблемы с перекрытием псевдонимов для собственных таблиц в запросах.
- Объединение свойств соединения и конфигурации по умолчанию в классе модели.
- Улучшение автоматической привязки параметров для условий in и between в запросе.
- Улучшение поддержки сортировки объектов наборов данных и связанных полей в классе Query.
- Добавление методов быстрого доступа к событиям модели.
- Улучшение кеширования метода getTableInfo класса Query.
- Поддержка фильтрации полей методом allowField при сохранении всех данных модели.
- Устранение ошибок в методе whereTime при выполнении запросов на связанные объекты.
- Улучшение агрегатных запросов в классе Query.
- Поддержка строковых подзапросов методом table.
- Устранение проблем с возвратом SQL при использовании методов count и avg с fetchsql.
[Прочее]
- Улучшение логирования в командной строке.
- Простое логирование в режиме развёртывания.
- Введение типа журнала debug для режима отладки.
- Улучшение метода parseTemplateFile класса Template.
- Улучшение метода getRuleMsg класса Validate.
- Поведение метода error контроллера по умолчанию возвращает пустую строку URL при AJAX-запросах.
- Добавление параметра field в метод validate класса Validate для описания поля проверки.
- Улучшение поддержки внедрения зависимостей в методе invokeMethod класса App.
- Увеличение возвращаемого значения метода restore класса RedirectResponse.
- Метод share класса View для статического присвоения значений шаблонам.
- Проверка наличия определённых сценариев проверки в методе hasScene класса Validate.
- Коррекция возвращаемых значений методов destroy классов redis и session.
- Удаление суффиксов методов после операций.
- Уточнение типов в вызовах request и view в контроллерах.
- Улучшение вспомогательной функции input для получения многомерных данных.
- Методы pull и remember класса Cache.
- Улучшение правила подтверждения в классе Validate с автоматическим распознаванием.
- Улучшение определения сообщений об ошибках в классе Validate.
- Предоставление возможности замены сообщений об ошибках в пользовательских правилах проверки класса Validate.
- Класс Cookie с методом forever для постоянного сохранения.
- Шаблоны могут быть загружены из корневого каталога представлений.
- Улучшен метод exec класса Hook.
[Настройка]
- Прекращение поддержки настройки пользовательских наборов данных в классе Db.
- Отказ от использования метода fetchClass класса Query.
- Контроллер по умолчанию возвращает пустой URL при AJAX-запросах, если возникает ошибка.
- Запрет использования строчных букв и подчёркивания в именах методов ассоциации, требуется использование CamelCase.
- Все методы поведения должны использовать CamelCase для именования.
2016-11-11 V5.0.3
Основные изменения:
- Улучшено кэширование запросов.
- Улучшена маршрутизация.
- Доработаны база данных и модели.
- Добавлена поддержка перехвата исключений, вызванных отражением.
- Обновлён класс File.
- Исправлены некоторые ошибки, о которых сообщили пользователи.
[Запросы и маршрутизация]
- При автоматическом регистрации маршрутов для ресурсов записывается текущий используемый идентификатор ресурса.
- Расширены функции и правила кэширования запросов, поддерживается глобальное автоматическое кэширование.
- Исправлена проблема с чувствительностью к регистру при автоматическом поиске контроллеров.
- Исправлен поиск контроллеров после применения пространства имён, чтобы избежать неправильного позиционирования класса.
- В методе parseRule класса Route улучшено поведение замены переменных маршрута без автоматического удаления переменных маршрута.
- Улучшен автоматический поиск контроллеров.
- Классу Route добавлены методы setOption и getOption для записи параметров текущего процесса выполнения маршрута.
- Оптимизированы методы группировки маршрутов.
- Улучшены методы генерации URL для групповых маршрутов.
[Базы данных и модели]
- Однозначные ассоциации теперь поддерживают определение метода field.
- Агрегатные модели поддерживают настройку свойства field.
- Улучшен метод alias класса Query.
- Улучшены параметры table и методы join и view класса Query.
- Улучшен метод where класса Query.
- Улучшен метод paginate класса Query, поддерживающий метод order.
- Улучшены методы min и max класса Query для работы с датами.
- Исправлена ошибка с мягким удалением с помощью метода withTrashed.
- Оптимизирован метод getRealSql класса Connection для генерации более эффективного SQL.
[Прочие]
- Добавлены параметры конфигурации request_cache и request_cache_expire для настройки глобального кэширования запросов.
- Исправлена ошибка фильтрации массива в вспомогательной функции input.
- Вспомогательная функция cache поддерживает операцию очистки.
- Конфигурационный класс Config: метод load принудительно переводит имена конфигурационных параметров первого уровня в нижний регистр.
- Исправлена проблема многократной генерации URL.
- Файл класса File: исправлена проблема, когда в некоторых средах не удаётся распознать загруженные файлы.
- Улучшен метод empty операции класса App.
- URL больше не зависит от параметра url_domain_deploy при развёртывании домена.
- Исправлена проблема с развёртыванием URL на основе домена.
- Файлы шаблонов можно централизованно хранить вне модулей.
- Вспомогательная функция cache теперь поддерживает метод remember.
- Если в методе input или во вспомогательной функции input используется параметр filter, то значение null означает отсутствие фильтрации. Улучшения в классе Session для автоматической инициализации
- В класс Session добавлен метод pull для получения и удаления данных.
Увеличение класса Env для получения переменных окружения
- Добавлен класс Env, который позволяет получать переменные окружения.
Изменения в методах get/post/put класса Request
- После присвоения значений методы get/post/put продолжают работать корректно.
Улучшение в работе метода Jump для перехода по URL
- Метод Jump поддерживает разбор URL с помощью функции Url::build.
Оптимизация класса Hook
- Класс Hook оптимизирован.
Применение режима отладки и поддержка переменных окружения в режиме трассировки
- Режим отладки применяется с поддержкой переменных окружения.
Поддержка использования функции config('?name')
- Функция config('?name') используется для помощи в настройке конфигурации.
Использование константы BIND_MODULE для привязки модулей
- Модули привязываются с использованием константы BIND_MODULE.
Автоматическое связывание модулей в файле входа
- Файлы входа автоматически связывают модули.
Улучшения в обработке ошибок и выводе информации при проверке
- Ошибки проверки обрабатываются более эффективно, поддерживается пакетная проверка.
Доработка консоли и добавление методов вывода
- Консоль дополнена несколькими полезными методами вывода.
Добавление функции token для отображения токенов на странице
- Токен отображается на странице с помощью функции token.
Введение метода halt для отладки переменных и прерывания вывода
- Переменные можно отлаживать с помощью метода halt, который также прерывает вывод.
Разделение правил проверки чисел и целых чисел в классе Validate
- Правила проверки чисел и целых чисел разделены в классе Validate.
Оптимизация автозагрузки с помощью optimize:autoload
- Автозагрузка оптимизирована с помощью функции optimize:autoload.
Обновление правил логической проверки в классе Validate для поддержки данных форм
- Логическая проверка в классе Validate обновлена для работы с данными форм.
Расширение функций cookie для определения наличия cookie
- Функции cookie расширены для определения наличия определённых cookie.
Модификация функции abort для выдачи исключений HttpResponseException
- Исключения HttpResponseException выдаются с помощью модифицированной функции abort.
Обработка ошибок при загрузке файлов в классе File
- Обработка ошибок загрузки файлов улучшена в классе File.
Изменение метода move в классе File для возврата дополнительной информации
- Метод move в классе File возвращает дополнительную информацию о загруженном файле.
Переопределение методов clear и optimize:config
- Методы clear и optimize:config переопределены.
Уточнение проверки типов изображений в классах File и Validate
- Проверка типов изображений уточнена в классах File и Validate.
Разрешение внедрения объектов Request в методы контроллера
- Объекты Request могут быть внедрены в методы контроллеров.
Получение данных с файлами с помощью параметра true в методе param класса Request
- Данные с файлами можно получить с помощью параметра true в методе param.
Добавление значения по умолчанию к первому параметру функции input
- Первый параметр функции input имеет значение по умолчанию.
Проверка изображений с помощью правила image в классе Validate и улучшение поддержки различных типов данных
- Изображения проверяются с помощью правила image, а поддержка различных типов данных улучшена.
Кодирование данных при выводе JSON вызывает исключение
- При кодировании данных для вывода JSON возникает исключение.
Опубликовать ( 0 )