Обновление версии 2019-1-11 V5.0.24
Данное обновление содержит одно безопасное обновление, рекомендуется обновить.
- Улучшен связанный метод save.
- Улучшена проверка модели данных.
- В коллекцию добавлен метод values.
- Улучшен метод unique проверки.
- Улучшён метод method класса Request.
Обновление версии 2018-12-9 V5.0.23
Основное изменение в этой версии — это безопасное обновление. Рекомендуется как можно скорее обновить до последней версии.
- Поддержка вызова модели в Query.
- Поддержка поля DISTINCT в агрегатных запросах.
- Улучшение параметров в проверке замыкания.
- Много-ко-многим: поддержка указания имени промежуточных данных таблицы.
- После/до проверки: поддержка указания поля проверки.
- Улучшения в много-ко-многим.
- Улучшения в классе проверки.
- Добавление правил afterWith и beforeWith для сравнения дат.
- Усовершенствование подсказок правил.
- Улучшения при повторном подключении после обрыва связи.
- Исправление метода destroy для мягкого удаления.
- Исправлен метод save модели, когда данные не проверяются, если переменная data пуста.
- Добавлен метод replace для модели.
- Для MorphOne добавлен метод make для создания экземпляра связанного объекта.
- Улучшено возвращаемое значение метода count.
- Улучшены регулярные выражения в методе агрегатного запроса.
- Улучшения драйвера SQLsrv.
- Доработка связанного метода save.
- Уточнение имени контроллера.
Обновление версии 2018-10-22 V5.0.22
В этой версии добавлена поддержка формата JSON журнала, а также одно безопасное обновление.
- Отключение кэширования маршрутизации в режиме отладки.
- Улучшение поддержки формата журнала Log с помощью JSON.
- Повышение безопасности агрегатных запросов.
- Улучшенное возвращаемое значение для метода count.
Обновление версии 2018-9-7 V5.0.21
Эта версия включает несколько исправлений известных проблем, улучшенную поддержку Swoole и функцию кэширования маршрутов.
- Кэширование маршрутов.
- Решение проблемы с портом в URL.
- Улучшенный кэш драйверов.
- Улучшенная обработка метода value в кэше.
- Исправления в Builder::insertAll.
- Улучшенная поддержка Swoole (с использованием ссылки: xavier-swoole).
Обновление версии 2018-5-11 V5.0.20
Это версия исправления ошибок, в которой исправлено несколько известных проблем.
- Метод join поддерживает передачу объекта Expression в качестве условия.
- Улучшение метода parseKey в драйвере.
- Улучшение метода host в Request.
- Исключение при обновлении данных с использованием выражения exp.
- Коррекция запросов.
- Улучшение обновления модели промежуточной таблицы для многих-ко-многим.
Обновление версии 2018-4-25 V5.0.19
Данная версия является улучшенной версией, основное внимание уделяется улучшению автоматической загрузки composer и встроенного механизма шаблонов.
- Улучшение автоматической загрузки композитора.
- Улучшение механизма безопасности шаблона.
- Улучшение анализа комментариев.
- Проблема с распределённым написанием и своевременным чтением данных.
- Автоматическое преобразование операций URL.
- Магические методы разбиения на страницы возвращают значения.
- Журнал SQL добавляет отметку главного и подчинённого серверов.
Обновление версии 2018-4-14 V5.0.18
Основная цель этой версии — исправить ошибки предыдущей версии и улучшить выражение exp для запросов и обновлений.
- Поле метода: исправление проблемы совместимости с символом «*».
- Методы inc/dec: исправление.
- Методы setInc/setDec: исправление.
- insertAll: улучшение.
- parseTime: улучшение.
- Выражение exp: повышение строгости запросов и обновлений.
Обновление версии 2018-4-12 V5.0.17
Основные изменения в этой версии включают исправления и улучшения, а также безопасное обновление.
- Response: улучшение метода create.
- inc/dec запросы: улучшение.
- По умолчанию в шаблоне используется операция для прямого использования имени метода.
- Просмотр драйвера: улучшение.
- Запрос: улучшение ip метода с поддержкой настройки прокси.
- Request: исправление метода create.
- Закрытие запроса: исключение при использовании cache(true).
- Автоматическая загрузка композитора: улучшение.
- Введение класса Expression и связанных методов.
Обновление версии 2018-3-26 V5.0.16
Цель этой версии — внести исправления и улучшения. Поскольку она включает безопасное обновление, её рекомендуется обновить.
- Генерация URL: улучшение.
- Автоматическая загрузка composer: улучшение производительности.
- Один-к-одному запрос: улучшение.
- Кэш запроса: улучшение.
- field метод: улучшение.
- Оптимизация класса Template.
- Параметр разбивки на страницы: исправление.
- Автоматическое распознавание шаблона по умолчанию: улучшение.
- Класс Query: улучшение запроса.
- Collection: улучшение.
- Модель: readTransform метод для обработки сериализации типов.
- Трассировка: улучшение отображения.
- Файл журнала: автоматическая очистка.
- Повторное подключение при обрыве связи: улучшение суждения.
- Проверка: улучшение методов.
- Query класс: исправление определения табличного имени view метода.
- Привязка параметров: улучшение.
- Файл кэша: параллельное удаление.
- Безопасность обновления inc/dec/exp: улучшение.
- Конфигурация консоли: введение.
Обновление версии 2018-1-31 V5.0.15
Целью этой версии является внесение исправлений и улучшений.
- View: улучшение.
- chunk метод: улучшение.
- Механизм выражений шаблона: улучшение.
- Самоассоциация: проблема многоуровневого вызова.
- selfRelation метод для определения самоассоциации.
- file тип кэша: inc и dec методы не изменяют срок действия кэша.
- Мягкое удаление: поддержка установки deleteTime для закрытия.
- union запрос: улучшение.
- Кэш запросов: улучшение.
- Пустые каталоги: оптимизация автоматического создания файлов кэша File.
- Запись в журнал: улучшение параллельных проблем.
- MorphTo ассоциация: исправление.
- join самоассоциация: улучшение запросов.
- Теги case: улучшение анализа.
- Url класс: поддержка конфигурации url_convert.
Обновление версии 2018-1-1 V5.0.14
Версия 5.0.14 в основном улучшает поддержку составных первичных ключей, улучшает совместимость с PHP7 и решает проблемы с базой данных.
Основные обновления:
- Уникальный метод проверки Validate: улучшение.
- Validate класс: checkRule метод для статической проверки нескольких правил.
- Многие-ко-многим: улучшение save метода.
- pivot объект для многих-ко-многим: улучшение.
- setDec метод: исправление задержки записи.
- max и min методы: добавление второго параметра для управления принудительным преобразованием чисел.
- View класс: улучшение.
- Ассоциативное соединение с самим собой: улучшение проблемы.
- Union запрос: улучшение.
- Url класс: улучшение.
- То же имя маршрута, разные запросы: улучшение регистрации.
- Builder класс: parseData анализ пустых массивов.
- Шаблон замены: улучшение.
- BelongsTo: hasWhere метод.
- Компиляция шаблона: улучшение именования правил кэша и добавление идентификатора макета в шаблон.
- insertall метод: улучшение.
- Chunk метод: поддержка составного первичного ключа.
- Error класс: одна проблема совместимости.
- Model save метод: составной первичный ключ, включая автоматическое увеличение.
- save метод: улучшение поддержки составного первичного ключа.
- Mysql insertAll метод: улучшение.
- Redis: длинные соединения и несколько номеров библиотек.
Обновление версии 2017-12-12 V5.0.13
V5.0.13 в основном касается улучшений моделей и журналов.
База данных и модель
- Model класс: save метод для oracle.
- Промежуточная таблица модели: улучшение.
- Pivot класс: улучшение.
- hasWhere запрос: данные повторяются.
- one-to-many with ассоциация: полевая поддержка.
- model saveall метод: поддержка возврата набора данных, чтение resultSetType атрибута.
- Устаревшее поле: суждение.
- hasWhere метод: добавление полей параметров.
- Обрыв связи: механизм исключения исключений.
- Запрос класса: inc и dec метод Mysql ключевые слова.
- Объект данных: проблема.
Прочее
- app_dispatch крюк: введение позиции.
- Cookie класс: httponly параметр по умолчанию false.
- File журнал драйвера: single параметр конфигурации, запись одного файла журнала.
- Одиночный файл журнала: размер настройки.
- IP адрес журнала: улучшение.
- Redis кэш драйвера: использование serialize для замены json сериализации.
- Исключения: улучшение захвата.
- Загрузка файла: проверка улучшения.
- Redis драйвер: исправление.
- Очистка File кэша: метод clear.
- Код форматирования: стандарт.
- PHP7.2 совместимость: улучшение одной проблемы.
- Режим отладки: не читать полевые файлы кэша.
- default_filter: поддержка в модуле конфигурации. Улучшения в Loader классе, методах controller и validate
- Улучшена многоязычная поддержка для сообщений об ошибках проверки.
- Добавлена многоязычная поддержка сообщений об ошибках для класса File.
- Исправлены проблемы с обработкой исключений при рендеринге шаблонов.
- Внесены улучшения в REST контроллер.
- Усовершенствован trace драйвер.
- Обновлён метод remember класса Cache.
- Оптимизирована обработка urlencode для метода url_common_param.
- Проведена оптимизация класса Url.
- Расширена поддержка замыканий в параметре конфигурации exception_handle.
- Перед выполнением команды RUNTIME_PATH проверяется наличие пути.
- Изменена логика уменьшения значения в методе dec класса CacheDriver для пустых значений.
- Улучшено отображение на мобильных устройствах.
- Повышена эффективность поддержки плагина JSON-Handle.
- Доработана поддержка метода get класса redis.
- Модифицирован метод host класса Request.
Версия 5.0.11
Версия 5.0.11 представляет собой обновление безопасности и исправления ошибок, которое включает в себя следующие изменения:
- Улучшение драйвера кэша.
- Обновление запросов к базе данных.
- Модернизация класса генерации URL.
- Поддержка указания срока действия для кэшированных данных.
[База данных и модель]
- Улучшен класс драйвера базы данных.
- Решён конфликт ключевых слов в методе group.
- Исправлено возвращение null при агрегированном запросе.
- Реализован принудительный релейшн в классе Db.
- Скорректировано связывание атрибутов.
- Восстановлено соединение после разрыва.
- Откорректированы транзакции при обрыве соединения.
- Произведена модификация условий запроса объектов.
- Метод clear добавлен в класс Db.
- Обработаны запросы с нулевыми значениями в условиях массива.
- Поддерживается сортировка в методе chunk класса Query.
- Методы has классов HasOne и HasMany улучшены.
- Мягкое удаление теперь корректно работает со связанными данными.
- Разрешено многократное использование одного поля в условиях запроса.
[Другое]
-
Срок действия кэша теперь можно указать с помощью параметра DateTime.
-
Класс Url теперь поддерживает порты.
-
Исключения RouteNotFound теперь обрабатываются более корректно.
-
Глобальное сопоставление маршрутов теперь более полное.
-
Частично исправлены ошибки в сообщениях об ошибках валидации.
-
Обеспечена поддержка вывода XML-ответов для моделей и баз данных.
-
Тернарные операторы в шаблонах стали более эффективными.
-
Контроллер теперь корректно обрабатывает ошибки при отсутствии методов.
-
Функция input helper теперь может получать данные из переменной route.
-
Конфигурационные параметры теперь могут быть прочитаны из дополнительных файлов конфигурации.
-
Разбиение на страницы стало более функциональным.
-
Проблема с пространством имён Trait была решена.
-
Метод env класса Request был улучшен.
-
Предпочтение отдаётся языковым настройкам, определённым в Cookie.
-
При получении кэшированных тегов фильтруются недействительные метки.
-
Ошибка в пакетной регистрации маршрутов была исправлена.
-
Параметр exception_handle теперь поддерживает использование замыканий для определения обработки render.
-
Запрос теперь может использовать настройки кэша через теги.
-
Механизм блокировки добавлен в метод remember класса Cache для повышения параллелизма.
-
Загрузка SWF-файлов в Upload теперь поддерживается лучше.
-
Префикс в Session теперь обрабатывается более точно. IN / NOT IN 型查询条件为空导致的 SQL 语法错误
-
Исправление метода toArray класса, реализующего разбиение на страницы.
-
Исправление обработки метода delete класса Model для составных первичных ключей.
-
Исправление поддержки мягкого удаления для MongoDB.
-
Исправление возможной ошибки в классе Connection.
-
Улучшение механизма кэширования метода find класса Query.
-
Исправление связи BelongsTo.
-
Исправление JOIN-способа для предварительной загрузки одно-к-одному.
-
Исправление возможного предупреждения об ошибке в методе insert класса Query.
-
Исправление конфликта использования метода use класса Collection в классе Model.
-
Исправление метода hasWhere класса Model.
-
Исправление поддержки параметра ext для генерации URL.
-
Метод clear файлового кэша удаляет пустые каталоги.
-
Исправление проблемы в методе parseUrlPath класса Route.
Настройка:
- По умолчанию отключить безопасный параметр secure, который можно включить только при использовании HTTPS.
2017-02-07 V5.0.6
Основные настройки:
Это обновление в основном предназначено для исправления ошибок и оптимизации (можно обновить без проблем).
- Поддержка механизма переподключения к базе данных при разрыве соединения;
- Улучшены события запросов;
- Улучшен механизм автоматического кэширования данных;
- Добавлена настройка для автоматического преобразования формата времени;
- Расширения для баз данных MongoDB и Oracle обновлены до основных версий фреймворка.
[Базы данных и модели]
- Исправлен метод has класса Model для отношений «многие ко многим».
- Убраны некоторые настройки по умолчанию, чтобы избежать конфликтов при использовании расширений базы данных.
- Улучшено возвращаемое значение метода attach для отношений многие ко многим.
- Добавлен механизм переподключения MySQL при разрыве соединения и переключатель.
- Улучшен механизм кэширования данных в методе find класса Query.
- Улучшены параметры обратного вызова событий запросов в классе Query.
- Улучшена автоматическая синхронизация обновлений в классе Query.
- В классе Model добавлен метод readonly.
- Улучшены методы has и hasWhere в классе Model.
- Улучшены методы get и all в классе Model: второй параметр true или число указывает на использование кэшированных данных.
- Исправлена ошибка синтаксиса SQL, вызванная пустым условием запроса.
- Улучшен метод setBuilder в классе Query, чтобы предотвратить проблемы с поиском генератора после создания пользовательского соединителя.
- Удалено устаревшее свойство resultSetType класса Connection.
- Оптимизирован метод close класса Connection.
- Исправлены проблемы совместимости с мягким удалением для поддержки MongoDB.
[Прочее]
- Улучшен класс Url для генерации корневого пути /.
- Добавлены параметры with в функции redirect помощника и методе redirect контроллера.
- Глобальный запрос кэша добавляет правила исключения.
- Хранилище параметров кэша класса Cache позволяет использовать пустые значения для получения текущего дескриптора драйвера кэша.
- Улучшены правила проверки IP в классе Validate.
2017-01-23 V5.0.5
Основные настройки:
Основное внимание уделено улучшению уровня доступа к данным и связыванию моделей.
- Добавление быстрых запросов и методов настройки;
- Добавление функций статистики связей;
- Добавление функции отложенной предварительной загрузки связей;
- Добавление автоматической записи и удаления для связей один-к-одному;
- Улучшения в запросах к хранимым процедурам;
- Улучшенное представление связанных данных;
- Повышение производительности запросов;
- Автоматическое форматирование вывода полей даты и времени в моделях.
[Запросы и маршрутизация]
- Улучшен анализ суффиксов в определении маршрутов.
- Класс Route поддерживает перекрытие определений методом rest.
- Методы put и post класса Request улучшены для приёма параметров формата JSON.
- Запрос класса имеет метод contentType.
- Улучшен метод setRule класса Route.
- Улучшенный метод create класса Request.
- Влияние маршрутизации на контроллеры и методы рендеринга шаблонов по умолчанию улучшено.
- Исправлена проблема с определением псевдонимов в методе build класса Url.
[Базы данных и модели]
- Добавлена функция статистики связей.
- Автоматическая запись для связей один-ко-многим улучшена.
- Модель агрегации улучшила метод delete.
- Улучшен метод useGlobalScope класса Model.
- Поле даты и времени модели может быть установлено как имя класса.
- Классы Query имеют методы data, inc, dec и exp для быстрой установки параметров данных для методов insert и update, которые могут быть пустыми и считывать данные из data.
- Повышена производительность запросов в Connection.
- Исправлен метод parseOrder класса Builder.
- Связь BelongsToMany улучшила метод attach.
- BelongsToMany улучшает метод attach для пакетной записи.
- Улучшен метод saveall класса BelongsToMany с добавлением третьего параметра для указания, должны ли дополнительные параметры быть одинаковыми.
- Запросы с несколькими вызовами метода order класса Query могут быть объединены.
- Улучшена поддержка групповых запросов методом count.
- Проверяется наличие поля отметки времени при записи объекта.
- Улучшен метод writeTransform класса Model.
- Запись и чтение полей отметок времени в модели улучшены.
- При записи данных как объекта проверяется наличие метода __toString.
- Улучшен метод getFields класса Mysql PDO.
- Автоматическое форматирование выходных данных улучшено.
- Условия запроса like поддерживают массивы.
- Автоматически используется формат времени для вывода полей времени.
- Улучшено выполнение одиночных полей с множественными условиями Or.
- Объединение условий null в запросе улучшено.
- Первый параметр метода paginate класса Query может принимать массив параметров.
- Данные преобразуются в объекты Query методом select, а исходные запросы больше не возвращают объекты данных.
- Быстрые методы поиска, такие как whereNull, whereIn и т. д., добавлены.
- Изменён метод fetchPdo.
- Запросам к хранимым процедурам добавлена поддержка.
- Улучшен доступ к параметрам хранимых процедур.
- Параметры привязки данных улучшены, поддерживая автоматическое связывание китайских полей.
- Добавлен метод getPdo класса Query для возврата объектов PDOStatement.
- Улучшен запрос с использованием выражения даты today.
- Связанное свойство улучшило получение.
- Проблема с повторным выполнением условий в определениях связей решена.
- Параметр привязки данных автоматически связывает китайские поля.
- Улучшен метод insertall класса Builder с обработкой нулевых значений и объектов.
- Типы параметров привязки данных улучшены с поддержкой автоматического связывания типа bit.
- Метод model класса Connection заменён на getQuery.
- Метод __call класса Connection оптимизирован.
- Агрегатная модель улучшена.
- Один-к-одному предварительная загрузка по умолчанию использует IN-запрос.
- Добавлена вспомогательная функция load_relation для отложенной предварительной загрузки массивов.
- Второй параметр метода has класса Model поддерживает использование массивов и замыканий, устраняя необходимость в использовании hasWhere.
- Отношение метода поддерживает вложенные запросы связей.
- Коллекция моделей представлена как объект коллекции данных Query.
- Отменён параметр alias в определении связей (только morphTo сохранён).
- Метод delete класса Model поддерживает отсутствие первичного ключа.
- Разрешены разделенные запятыми строки в методе allowField класса Model.
- Проблемы с путаницей имён параметров в автоматическом связывании данных исправлены.
- Предварительная загрузка связанных запросов по умолчанию использует имена свойств в нижнем регистре с подчёркиванием.
- Методы with и relation класса Query поддерживают множественные вызовы.
- Коллекции добавили методы hidden, visible и append.
- Мягкое удаление улучшено для принудительного удаления.
[Другое]
- Уникальная проверка правил поддерживает указание полной модели класса и по умолчанию проверяет, существует ли модель класса, если нет, то проверяет данные таблицы.
- Loader класс улучшил методы model, controller и validate, позволяя напрямую передавать экземпляры классов для создания.
- Session класс добавил параметры безопасности httponly и secure.
- Можно разрешить настраиваемые драйверы Output для адаптации к командам командной строки и другим командам.
- Улучшен метод action класса loader для решения проблемы загрязнения параметров.
- Validate класс изменил проверку подтверждения на проверку равенства.
- Улучшен вывод ошибок в классе Validate.
- Проверка логических значений в классе Validate улучшена.
- Cookie помощник улучшен для поддержки префиксов.
- Файл кэша по умолчанию включает подкаталог кэша для предотвращения переполнения файлов и снижения производительности.
[Настройка]
- Метод модели класса Connection заменён на метод getQuery.
- Исходные запросы больше не возвращают объекты данных.
- Разбиение на страницы возвращает тип think\Paginator (использование не изменилось).
- Поля даты и времени моделей автоматически форматируются, и дополнительная обработка не требуется.
- Безопасный параметр secure и httponly добавлен в класс Session, и оба параметра по умолчанию установлены в true. Запрос класса post метода поддерживает получение данных в формате JSON.
- Маршрутизация к классу метода и контроллеру метода поддерживает передачу дополнительных параметров, используемых для параметров метода.
- Улучшение автоматического поиска контроллера.
- Улучшение кэширования запросов.
- Улучшение привязки параметров.
- Исправление настроек кэша маршрутов.
- Улучшение метода name класса Route.
[База данных и модель]
- Добавление событий запросов базы данных (CURD).
- Улучшение обработки полей при обновлении нескольких таблиц.
- Улучшение использования метода useGlobalScope класса Model.
- Устранение проблемы с использованием подзапросов в качестве имён таблиц.
- Добавление свойства resultSetType в класс Model для указания типа объекта набора данных модели (по умолчанию возвращает пустой массив).
- Автоматическое использование метода toCollection в классе Model.
- Настройка ассоциации моделей.
- Улучшение поддержки параметров нижнего регистра и подчёркивания в методе with.
- Устранение ошибки при множественном связывании.
- Улучшение запросов при множественном связывании.
- Поддержка полиморфизма при одно-ко-многим ассоциациях.
- Предварительная загрузка связанных объектов с привязкой свойств текущего объекта модели.
- Возможность добавления свойств связанного объекта к текущему объекту модели.
- Одно-к-одному связывание: предварительная загрузка с поддержкой JOIN и IN (по умолчанию используется JOIN).
- Улучшение множественных запросов.
- Улучшение правил сравнения изменений данных при обновлении модели.
- Запросы поддерживают несколько условий для одного поля.
- Улучшение журналов SQL.
- Устранение проблемы перекрытия псевдонимов таблицы в запросах к собственной таблице.
- Объединение свойств соединения и конфигурации по умолчанию в классе модели.
- Улучшение автоматической привязки параметров для условий in и between в запросе.
- Улучшение поддержки сортировки объектов наборов данных и связанных полей в классе Query.
- Добавление быстрых методов событий в моделях.
- Улучшение кеширования метода getTableInfo класса Query.
- Метод saveAll класса model поддерживает вызов метода allowField для фильтрации полей.
- Устранена ошибка в методе whereTime при выполнении запросов на связывание.
- Улучшены агрегатные запросы в классе Query.
- Поддержка строковых подзапросов методом table.
- Исправлена проблема с некорректным возвратом SQL при использовании методов count и avg с fetchsql.
[Прочее]
- Улучшено ведение журнала в командной строке.
- В режиме развёртывания упрощено ведение журнала.
- Добавлен тип журнала debug, доступный только в режиме отладки.
- Улучшен метод parseTemplateFile класса Template.
- Улучшен метод getRuleMsg класса Validate.
- Контроллер: метод error по умолчанию возвращает пустую строку URL при AJAX запросах.
- Класс Validate: добавлен параметр field для настройки описания поля проверки.
- Приложение: улучшен метод invokeMethod для поддержки внедрения зависимостей в функции архитектуры.
- RedirectResponse: добавлен метод restore для возврата значения.
- View: добавлен статический метод share для статического присвоения значений переменным шаблона.
- Validate: добавлен метод hasScene для определения наличия конфигурации проверки для определённого сценария.
- Redis и session: исправлены возвращаемые значения методов destroy.
- Пустые методы: параметры операций удалены после операции.
- Контроллеры и представления: добавлены подсказки типов для запроса и просмотра.
- Input: улучшена поддержка получения многомерных данных.
- Cache: добавлены методы pull и remember.
- Проверка: улучшено правило подтверждения с автоматическим распознаванием.
- Проверка: улучшены сообщения об ошибках.
- Cookie: добавлен метод forever для постоянного сохранения.
- Шаблоны: поддерживается чтение шаблонов из корневого каталога представлений.
- Hook: улучшен метод exec.
[Настройка]
- Db: запросы больше не поддерживают настройку пользовательских наборов данных.
- Query: удалён метод fetchClass.
- Контроллер: ошибка метода error при AJAX запросах по умолчанию возвращает пустой URL.
- Связывание: определение методов не поддерживает использование нижнего регистра или подчёркивания, необходимо использовать CamelCase.
- Поведение: имена методов должны использовать CamelCase. Проверка ошибок поддерживает многоязычное чтение
- Улучшение ROOT_PATH константы.
- Улучшение загрузки языковых пакетов.
- Улучшение получения переменных сеанса и cookie шаблона, автоматическое определение префикса.
- Единое добавление handler метода в драйвер кэша для получения дескриптора объекта операции (некоторые типы кэша могут быть нулевыми).
- Добавление
__call
метода в класс File для совместимости с версиями 5.0 методов md5
и sha1
.
- Улучшение метода clear класса кэша файлов.
- Добавление метода setLangCookieExpire в класс Lang для установки времени истечения срока действия многоязычных cookie.
- Увеличение параметра конфигурации route_complete_match.
[Настройка]
Следующие свойства и методы модели были изменены с статических на динамические:
- Свойство relationModel модели агрегации.
- Метод useGlobalScope модели Model.
- Динамический метод глобального диапазона запросов base.
- Атрибут мягкого удаления deleteTime.
2016-9-28 V5.0.1
Основные настройки:
- Завершение внедрения зависимостей (215849).
- Настройка файла конфигурации (118027).
- Новая команда таблицы полей кэша (211524).
- Поддержка установки текущего объекта запроса.
- Поддержка запроса и маршрутизации кэша (215850).
Запрос и маршрутизация
- Улучшено распознавание адресов перехода методов success и error контроллера, поддерживается больше схем.
- Методы операций и архитектуры поддерживают автоматическую инъекцию любых объектов.
- В классе Request добавлен метод getInput для получения значения php://input.
- При переходе к методу маршрута поддерживается внедрение запроса в архитектуру.
- Маршрутизация до класса улучшена.
- Запрос добавлен методом cache для поддержки запроса кэширования.
- После привязки к модулю маршрут по-прежнему проверяется в первую очередь.
- Маршрут добавляет параметры запроса кэша.
- Исправлена ошибка с переменными составного маршрута.
База данных
- Исправлено чтение информации о полях драйвера базы данных pgsql.
- Класс Query, метод view, второй параметр по умолчанию true получает все поля.
- Информация о конфигурации базы данных увеличивает параметр запроса для настройки имени объекта запроса.
- Тип добавляет атрибут запроса для настройки требуемого имени объекта модели.
- Чтение и генерация кэша полей модели улучшены.
- Модель улучшила генерацию кэша полей, виртуальная модель не генерирует кэш полей.
- Генерация кэша полей модели поддерживает чтение моделей из модулей.
- Агрегатная модель улучшила сохранение основного ключа записи.
- Поле модели определяет упрощение атрибута, отменяет метод allowField класса Query и связанные атрибуты.
- Кэширование полей модели поддерживает генерацию нескольких баз данных.
- Обновлён класс драйвера базы данных, улучшен метод getTables.
- Добавлена команда optimize:schema для генерации информации о кэше полей таблицы.
- Исправлены ошибки привязки параметров при наличии нескольких условий запроса.
- Разбиение на страницы, метод paginate, второй параметр — число, представляющее общее количество записей.
- MySQL исправляет ошибку запроса поля JSON.
- Класс запроса улучшает метод getOptions, возвращает null, когда имя параметра не существует.
Модель и связь
- Модели не нужно добавлять определения типов полей.
- Model добавляет статический метод getDb для получения объекта запроса db.
- Сохранение модели улучшает возвращаемое значение.
- Relation улучшает сохранение метода.
- Связь модели, сохранение много-ко-многим, улучшение метода.
- Модель улучшает сохранение метода, корректирует обновление без основного ключа.
- Время получения поля равно нулю, преобразование не выполняется.
Другое
- Улучшена генерация кеша конфигурации, поддерживающая расширение конфигурации.
- Отменён параметр конфигурации extra_config_list, файл расширенной конфигурации можно поместить непосредственно в каталог extra, чтобы автоматически загрузить его (расположение файла конфигурации базы данных не изменилось).
- Функция cache helper поддерживает проверку эффективности кэша.
- Исправление ошибки в методе config класса шаблона драйвера.
- Устранена ошибка в модели при использовании конфигурации field=true, вызванная вызовом __call db().
- Улучшен метод config шаблона драйвера, поддерживающий получение значений параметров конфигурации.
- Улучшенное разрешение URL перенаправления.
- Удалены методы md5 и sha1 класса File, заменены на метод hash, поддерживающий создание большего количества хеш-значений.
- Добавлено поведение метки response_end.
- Улучшенная загрузка по умолчанию. Улучшения в классе Session для автоматической инициализации
- В класс Session добавлен метод pull для получения и удаления данных.
Изменения в классе Env для получения переменных окружения
- Добавлен класс Env для доступа к переменным окружения.
Модификации в методах get, post и put класса Request
- После присвоения значений методы get, post и put в классе Request по-прежнему работают корректно.
Улучшение в работе метода Jump для перехода по URL
- Метод Jump поддерживает разбор URL с помощью функции Url::build.
Оптимизация класса Hook
- Класс Hook улучшен для повышения эффективности работы.
Применение режима отладки и поддержка переменных окружения в режиме трассировки
- Режим отладки и режим трассировки с поддержкой переменных окружения могут быть активированы.
Использование функции config с вопросительным знаком
- Функция config теперь поддерживает использование вопросительного знака для удобства использования.
Привязка модулей с использованием константы BIND_MODULE
- Модули можно привязать с помощью константы BIND_MODULE.
Автоматическое связывание модулей во входном файле
- Во входном файле модули автоматически связываются.
Доработка обработки ошибок в классе Validate
- Ошибки в классе Validate обрабатываются более эффективно, включая поддержку пакетной проверки.
Расширение функциональности консоли
- Консоль дополнена несколькими полезными методами.
Добавление функции token для быстрого отображения токенов на странице
- Для быстрого отображения токенов добавлена функция token.
Введение метода halt для отладки переменных и прерывания вывода
- Новый метод halt позволяет приостановить выполнение программы для отладки переменных.
Разделение правил проверки чисел и целых чисел в классе Validate
- Правила проверки чисел и целых чисел разделены в классе Validate.
Обновление функции autoload для оптимизации сканирования расширенных каталогов
- Функция autoload оптимизирована для сканирования расширенных каталогов.
Изменение правил логической проверки в классе Validate для поддержки данных форм
- Логические правила проверки в классе Validate обновлены для работы с данными форм.
Поддержка определения наличия cookie с помощью улучшенной функции cookie
- Улучшенная функция cookie позволяет определить наличие cookie.
Модификация функции abort для выдачи исключений HttpResponseException
- Функцию abort можно использовать для выдачи исключений типа HttpResponseException.
Обработка ошибок при загрузке файлов в классе File
- Обработка ошибок при загрузке файлов улучшена в классе File.
Переопределение методов move и get в классе File для улучшения функциональности
- Методы move и get в классе File переопределены для расширения функциональности.
Включение команд clear и optimize:config
- Команды clear и optimize:config добавлены для управления конфигурацией.
Уточнение проверки типов файлов изображений в классах File и Validate
- Проверка типов файлов изображений уточнена в классах File и Validate.
Разрешение внедрения объектов Request в методы контроллеров
- Объекты Request можно внедрять в методы контроллеров.
Получение данных с файлами с помощью метода param(true)
- Данные с файлами можно получить с помощью метода param(true).
Добавление значения по умолчанию к первому параметру функции input
- Первый параметр функции input теперь имеет значение по умолчанию.
Внедрение правил проверки изображений и улучшение поддержки различных типов данных
- Реализованы правила проверки изображений, а также улучшена поддержка различных типов данных в классе Validate.
Кодирование данных при выводе JSON и обработка ошибок
- При выводе данных в формате JSON ошибки кодирования обрабатываются соответствующим образом.
Изменения
Отмена статических маршрутов (маршрутов, определённых в коде)
- Статические маршруты больше не определяются в коде.
Удаление настройки url_deny_suffix и её замена на параметр deny_ext в маршрутах
- Настройка url_deny_suffix удалена, вместо неё используется параметр deny_ext в маршрутах.
Изменён тип возвращаемого значения метода save модели
- Тип возвращаемого значения метода save в моделях изменён на количество затронутых строк.
Метод контроллера возвращает имя контроллера в виде строки
- Имя контроллера возвращается в виде строки методом контроллера.
Исключение при отсутствии предваряющих операций в контроллере
- Если в контроллере нет предваряющей операции, возникает исключение.
Добавлен параметр name в функцию db класса Loader
- Параметр name добавлен в функцию db в классе Loader.
Добавлена возможность указания соединения в функции db
- Теперь в функции db можно указать соединение.
По умолчанию драйвер SQLsrv не преобразует данные таблицы в нижний регистр
- Драйвер SQLsrv по умолчанию не преобразует данные таблиц в нижний регистр.
Драйвер sane заменён на расширение пакета
- Вместо драйвера sane используется расширение пакета.
Драйверы Oracle и Firebird перемещены из основного пакета
- Драйверы Oracle и Firebird теперь находятся вне основного пакета.
Файл alias.php больше не используется
Чтение параметров конфигурации без учёта переменных окружения
- Параметры конфигурации считываются без учёта переменных окружения.
.env используется вместо массива PHP для определения переменных окружения
- Переменные окружения определяются с помощью файла .env вместо массива PHP.
Порядок загрузки состояний и расширений конфигурации изменён
- Порядок загрузки состояний и расширений конфигурации скорректирован для удобства.
Отключена привязка доменов к группам маршрутов
- Домены больше не привязываются к группам маршрутов.
Параметры url в методах success и error контроллера могут быть пустыми строками
- Пустые строки могут использоваться в качестве параметров url в методах success и error контроллеров.
Методы error, success и redirect контроллера не требуют возврата
- Возвращать значение после вызова методов error, success или redirect в контроллерах не требуется.
Права доступа для создания каталогов установлены на 0644
- Права доступа для создания каталогов заданы как 0644.
Архитектура нижнего уровня
Создание класса Request и его автоматическая инъекция
- Создан класс Request, который может автоматически внедряться.
Унификация механизма автоматической загрузки Composer
- Механизм автоматической загрузки Composer унифицирован.
Расширены возможности класса Response
- Возможности класса Response расширены.
Класс File для операций с файлами и их загрузки
- Появился класс File для работы с файлами, включая загрузку.
Режим SAE больше не поддерживается, используется расширение пакета
- Поддержка режима SAE прекращена, вместо него используется расширение пакета.
Оптимизирован входной файл фреймворка
- Оптимизирован входной файл фреймворка.
Усовершенствован механизм исключений
- Усовершенствован механизм обработки исключений.
Настройки ввода и вывода в классе App
- Настройки ввода и вывода изменены в классе App.
Полная поддержка модульного тестирования
- Обеспечена полная поддержка модульных тестов.
Новые команды в консоли
- Доступны новые команды в консоли.
Удалены большинство констант за пределами путей системы
- Большинство констант, расположенных за пределами системных путей, удалены.
Динамическое создание файлов сопоставления классов с помощью командной строки
- Файлы сопоставления классов создаются динамически с помощью командной строки.
База данных
Правила разделения таблиц
- Определены правила разделения таблиц.
Функции даты и времени в запросах
- Функции даты и времени доступны в запросах.
Функция разбиения на страницы в запросах
- Запросы поддерживают функцию разбиения на страницы.
Запросы с использованием представлений
- Запросам доступны представления.
Сохранение настроек размера полей таблиц по умолчанию
- Размер полей таблиц сохраняется по умолчанию.
Механизм автоматического обновления кэша данных
- Автоматически обновляется кэш данных.
Совершенствование вложенной поддержки транзакций
- Транзакции поддерживают вложенные транзакции.
Улучшено чтение данных из хранимых процедур
- Чтение данных из хранимых процедур улучшено.
Настройка типа возвращаемых данных запросов
- Можно настроить тип данных, возвращаемых запросами.
Модели
Слияние моделей с помощью Merge
- Модели можно объединять с помощью Merge.
Динамические запросы в моделях
- Модели поддерживают динамические запросы.
Дополнительные типы автоматического преобразования
- Модель поддерживает дополнительные типы автоматического преобразования.
Глобальный диапазон запросов в моделях
- Диапазон запросов в моделях можно задать глобально.
Токен и массив в toJson/toArray
- Методы toJson и toArray поддерживают токены и массивы.
Однонаправленные связи «многие ко многим»
- Поддерживаются однонаправленные связи «многие ко многим».
Прочие изменения
Структура журнала изменена
- Структура журнала была изменена.
Трассировка отделена от журналов и усилена
- Трассировка теперь отделена от журналов и улучшена.
Input объединён с Request
- Input объединён с классом Request.
Файлы сопоставления классов генерируются с помощью команды
- Файлы сопоставления классов теперь генерируются командой.
Проверка данных: метод check в классе Validate без передачи ссылок
- Метод check в классе Validate не принимает ссылки на данные.
Новый маршрут MISS
Маршрут с псевдонимом
- Маршруты могут иметь псевдонимы.
Опубликовать ( 0 )