1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/alan_viky-blockchain_btc

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 110 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 12.03.2025 02:42 d8473b8

2019-1-11 V5.0.24

Данное обновление включает в себя безопасное обновление, рекомендовано обновиться.

  • Улучшена связь метода save
  • Улучшено моделирование данных верификации
  • В коллекцию добавлен метод values
  • Улучшен уникальный метод верификации
  • Улучшен метод method класса Request

2018-12-9 V5.0.23

Основное обновление данного выпуска связано с безопасностью, рекомендовано как можно скорее обновиться до последней версии.

  • Поддержка запросов к диапазонам моделей
  • Поддержка агрегирующих запросов DISTINCT
  • Улучшение параметров проверки замыканий
  • Поддержка указания названия полей промежуточной таблицы многими ко многим связями
  • Поддержка после/до проверки указания поля для проверки
  • Улучшение многими ко многим связями
  • Улучшение класса верификации
  • Добавлены правила верификации afterWith и beforeWith для сравнения датовых полей
  • Улучшение сообщений ошибок правил
  • Улучшение повторного соединения при отключении сети
  • Исправлена проблема с методом destroy для мягкого удаления
  • Исправлен метод save модели при пустой переменной data, данные не проверяются
  • К модели добавлен метод replace
  • Для MorphOne добавлен метод make для создания экземпляра объекта связи
  • Улучшение типа возвращаемых значений метода count
  • Улучшение регулярного выражения для агрегирующего запроса
  • Улучшение драйвера sqlsrv
  • Улучшение метода save связи
  • Исправление получения имени контроллера## 2018-10-22 V5.0.22

В данном выпуске была добавлена поддержка JSON-формата логов и внесены изменения для повышения безопасности.

  • Отключение кэширования маршрутов в режиме отладки
  • Улучшение класса Log для поддержки JSON-логов
  • Улучшение безопасности агрегирующих запросов
  • Улучшение типа возвращаемых значений метода count

2018-09-07 V5.0.21

В данном выпуске были исправлены некоторые известные проблемы, улучшена поддержка Swoole и добавлена возможность кэширования маршрутов.

  • Добавлена возможность кэширования маршрутов
  • Улучшение порта генерации URL
  • Улучшение драйвера кэширования
  • Улучшение обработки кэша методом value
  • Исправление метода insertAll класса Builder
  • Улучшение поддержки Swoole (см. пример использования xavier-swoole)

2018-05-11 V5.0.20

В данном выпуске были исправлены некоторые известные проблемы.

  • Поддержка передачи объекта Expression в качестве условия метода join
  • Улучшение метода parseKey драйвера
  • Улучшение метода host класса Request
  • Предупреждение об использовании exp выражения для обновления данных
  • Исправление запроса
  • Улучшение обновления промежуточной модели многими ко многим связью

2018-04-14 V5.0.18

Этот выпуск в основном исправляет некоторые ошибки предыдущего выпуска и улучшает строгость запросов/внесения данных с использованием выражения exp.* Исправлено совместимое использование метода field со звездочкой;

  • Исправлены методы inc/dec;
  • Исправлены методы setInc/setDec;
  • Улучшен метод insertAll;
  • Улучшен метод parseTime;
  • Улучшена строгость запросов/внесения данных с использованием выражения exp;

2018-4-12 V5.0.17

Этот выпуск включает несколько исправлений и улучшений, а также безопасное обновление.

  • Улучшен метод create класса Response;
  • Улучшен метод inc/dec запроса;
  • Поддержка использования имени оператора метода напрямую при рендере шаблонов по умолчанию;
  • Улучшение управления представлениями;
  • Улучшен метод ip класса Request, поддерживающий настройку прокси;
  • Исправлен метод create класса request;
  • Исключение выбрасывается при использовании закрытых запросов с cache(true);
  • Улучшение автоматической загрузки компонентами Composer;
  • Добавлен класс Expression и связанные методы;

2018-3-26 V5.0.16

Этот выпуск включает несколько исправлений и улучшений, а также безопасное обновление, поэтому рекомендуется его установка.* Улучшение генерации URL;

  • Улучшение производительности автоматической загрузки компонентами Composer;
  • Улучшение однозначного запроса;
  • Улучшение кэширования запросов;
  • Улучшение метода field;
  • Оптимизация класса Template;
  • Исправление параметра пагинации;
  • Улучшение автоматического распознавания шаблона по умолчанию;
  • Улучшение запросов класса Query;
  • Улучшение класса Collection;
  • Улучшение метода readTransform класса модели для обработки сериализованного типа;
  • Улучшение отображения трассировки;
  • Поддержка автоматической очистки логов файлов;
  • Улучшение проверки повторного подключения;
  • Улучшение метода верификации;
  • Исправление определения таблицы массива методом view класса Query;
  • Улучшение привязки параметров;
  • Улучшение параллельного удаления кэша файла;
  • Улучшение безопасности обновления методов inc/dec/exp;
  • Добавлен конфигурационный файл консоли;## 2018-1-31 V5.0.15

Этот выпуск включает несколько улучшений и исправлений.

  • Улучшен класс View;
  • Улучшен метод chunk;
  • Улучшено синтаксическое оформление выражений в движке шаблонов;
  • Улучшены многократные вызовы самосвязей;
  • В определении связи добавлен метод selfRelation, который позволяет указывать, является ли это самосвязью;
  • Улучшен метод inc и dec кэширования типов файлов, не меняющий срок действия кэша;
  • Улучшен мягкий удаление, позволяющий выключить свойство deleteTime;
  • Улучшен метод объединённого запроса union;
  • Улучшено кэширование запросов;
  • Оптимизировано создание пустых директорий при работе с кэшированием файлов;
  • Улучшено решение проблемы конкурентного доступа к записи логов;
  • Исправлен метод MorphTo связи;
  • Улучшен метод join самосвязывания;
  • Улучшен анализ тега case;
  • Улучшен метод URL для поддержки конфигурации url_convert;

2018-1-1 V5.0.14

Версия V5.0.14 теперь лучше поддерживает составные первичные ключи, улучшена совместимость с PHP7 и устранены некоторые проблемы базы данных. Основные изменения:

  • Поддержка составных первичных ключей;
  • Улучшенная совместимость с PHP7;
  • Устранение некоторых проблем базы данных.* Улучшена проверка уникальности в классе Validate
  • В класс Validate добавлен метод checkRule для статической проверки нескольких правил
  • Улучшен метод save для множественных связей
  • Улучшен объект pivot для множественных связей
  • Исправлена задержка записи при использовании метода setDec
  • Добавлен второй параметр для методов max и min для установки обязательного преобразования в число
  • Улучшен класс View
  • Улучшено соединение с самим собой
  • Улучшены объединённые запросы
  • Улучшен класс Url
  • Улучшена регистрация одноимённых маршрутов для разных запросов
  • Улучшен класс Builder для обработки пустых массивов
  • Улучшена замена шаблонов
  • Изменён метод hasWhere класса BelongsTo
  • Улучшено правило компиляции кэша шаблона с добавлением метки для макета
  • Улучшен метод insertAll
  • Поддержка составного первичного ключа в методе chunk
  • Улучшен класс Error для совместимости
  • Улучшен метод save класса model для поддержки составного первичного ключа с автоинкрементом
  • Улучшен метод save для поддержки составного первичного ключа
  • Улучшен метод insertAll для MySQL
  • Улучшена работа Redis с несколькими базами данных через долгое соединение## 2017-12-12 V5.0.13

V5.0.13 включает улучшения модели и логирования.

[База данных и модель]

  • Улучшен метод save класса Model для Oracle
  • Улучшено создание экземпляров промежуточной таблицы
  • Улучшен класс Pivot
  • Метод saveAll модели теперь поддерживает isUpdate
  • Класс модели добавляет метод force для принудительного обновления всех данных
  • Автоматическое удаление добавляет поддержку удаления одного ко многим
  • Улучшено повторное использование данных в запросах hasWhere
  • Улучшено подключение with для одного ко многим с поддержкой полей
  • Метод saveAll модели теперь поддерживает возврат набора данных с чтением resultSetType
  • Улучшено определение устаревших полей
  • Метод hasWhere модели добавляет параметр fields
  • Улучшено управление повторным подключением при ошибке отключения
  • Исправлены методы inc и dec класса Query для решения проблем с ключевыми словами MySQL
  • Исправлены ошибки в объекте набора данных

[Другое]* Добавлено положение hook app_dispatch

  • По умолчанию параметр httponly класса Cookie установлен как false
  • Добавлен параметр single в классе File для логирования одного файла
  • Логический файл поддерживает настройку размера
  • Улучшено логирование IP-адреса
  • Для Redis-кэширования используется serialize вместо JSON-сериализации
  • Улучшено управление ошибками
  • Улучшена верификация загружаемых файлов
  • Исправлен класс Redis
  • Улучшен метод clear класса File для кэширования
  • Нормализация кода согласно стандартам PHP
  • Улучшение совместимости с PHP 7.2
  • В режиме отладки не читаются кэшированные поля
  • default_filter теперь можно настроить в модуле## 2017-11-06 V5.0.12

V5.0.12 — исправительная версия, которая включает исправления и улучшения после выпуска предыдущей версии. Поддержка нескольких языков для классов загрузки и валидации; Добавление поддержки исключения и отмены полей в модели; Улучшение метода batch processing для insertAll; Улучшение поддержки привязки параметров к типам данных enum; Внесение исправлений на основе отзывов сообщества;

[База данных и модели]

Улучшение метода getRealSql класса Connection; Улучшение метода append для поддержки bind для однозначной связи one-to-one; Улучшение запроса whereTime; Улучшение метода destroy класса model; Исправление softdelete; Исправление метода chunk для времени; Добавление метода push класса Collection; Улучшение метода alias; Исправление обработки метода append для моделей; Улучшение метода appendRelationAttr; Улучшение HasManyThrough связей; Улучшение MorphTo связей; Добавление поля disuse для отмены в модели; Добавление метода except для исключения полей; Исправление метода has; Улучшение поддержки привязки параметров к типам данных enum; Улучшение метода batch processing для insertAll;

[Другое]* Улучшение Loader класса для поддержки многоуровневого контроллера и валидатора;

  • Поддержка нескольких языков для сообщений валидации;
  • Поддержка нескольких языков для ошибок класса File;
  • Обработка исключений при рендере шаблонов;
  • Исправление REST контроллеров;
  • Улучшение trace драйвера;
  • Улучшение метода remember класса Cache;
  • Улучшение urlencode для url_common_param;
  • Улучшение класса Url;
  • Улучшение конфигурационного параметра exception_handle для поддержки замыканий;
  • Проверка RUNTIME_PATH перед выполнением команды кэширования маршрутов;
  • Изменение поведения декремента для пустых значений в CacheDriver::dec;
  • Оптимизация отображения для мобильных устройств;
  • Улучшение поддержки плагина JSON-Handle;
  • Улучшение метода get для Redis;
  • Улучшение метода host класса Request;## 2017-09-08 V5.0.11

5.0.11 является безопасным и исправленным выпуском, который включает несколько исправлений и улучшений с момента последнего выпуска, а также устраняет некоторые потенциальные проблемы безопасности, в том числе:

  • Улучшение кэширования драйверов;
  • Улучшение базовых запросов к данным;
  • Улучшение класса генерации URL;
  • Поддержка указания времени истечения для кэша;

[База данных и модели]

  • Улучшение базового драйвера;
  • Улучшение метода group для решения конфликтов ключевых слов полей;
  • Исправление проблем с возвратом null для агрегирующих запросов;
  • Улучшение принудительного повторного соединения для класса Db;
  • Улучшение привязки свойств для связей;
  • Исправление повторного соединения для транзакций при отключении;
  • Исправление условий запроса объектов;
  • Добавление метода clear для класса Db;
  • Улучшение запроса null для массивов условий;
  • Улучшение метода chunk для класса Query для поддержки установки сортировки;
  • Улучшение метода has для связей HasOne и HasMany;
  • Улучшение удаления связей для мягкого удаления;
  • Улучшение многократных условий запроса одного поля;### [Другое]* Поддержка указания времени истечения кэша (DateTime);
  • Улучшение генерации URL с поддержкой портов;
  • Улучшение сообщений об ошибке RouteNotFound;
  • Улучшение глобального совпадения полного маршрута в группах маршрутизации;
  • Исправление проблем с отображением ошибок при некоторых правилах проверки;
  • Поддержка вывода XML ответов для набора данных и моделей;
  • Улучшение тринарной операции меток шаблонов;
  • Улучшение сообщений об ошибках при отсутствии контроллера;
  • Поддержка получения переменной route в функциях помощника input;
  • Поддержка чтения дополнительных конфигурационных параметров из файла конфигурации;
  • Улучшение класса пагинации;
  • Исправление проблемы повторного пространства имён Trait;
  • Исправление метода env класса Request;
  • Приоритетное использование настроек нескольких языков из cookies;
  • Фильтрация недействительных меток кэша при получении меток кэша;
  • Исправление одного бага при массовой регистрации маршрутов;
  • Поддержка использования замыканий для определения параметра render в конфигурации exception_handle;
  • Поддержка установки меток кэша для запросов кэширования;
  • Добавление механизма параллельного блокирования в метод remember класса кэширования;
  • Улучшение поддержки SWF в классе загрузки файлов;
  • Улучшение метода prefix класса Session.## 2017-07-04 V5.0.10

5.0.10 — это исправленная версия, содержащая безопасное обновление, рекомендовано обновиться. Основные изменения:

  • Множество улучшений для баз данных и моделей;
  • Добавление новых поведений слушателей;
  • Поддержка Response установки для маршрутов;
  • Улучшение защиты чувствительной информации базы данных в режиме отладки;

[Базы данных и модели]

  • Исправление ошибки удаления таблицы при использовании JOIN;
  • Исправление удаления удалённого отношения один ко многим;
  • Поддержка REPLACE в методе insertAll;
  • Исправление получения промежуточной таблицы по умолчанию для отношений многие ко многим;
  • Улучшение обновления поля updated_at после обновления модели;
  • Добавление метода removeRelation в класс модели;
  • Добавление методов setInc, setDec и autoWriteTimestamp в класс модели для динамического управления временными метками;
  • Улучшение обработки отключения соединения в методах драйвера;
  • Улучшение обновления данных в отношении многие ко многим;
  • Улучшение запросов BelongsToMany;
  • Исправление методов value и column класса Query;
  • Улучшение удаления дубликатов в запросах IN;
  • Исправление передачи значений в методах scope класса модели;
  • Изменение местоположения проверки before_update в методе save класса модели;
  • Поддержка третьего аргумента для методов модификаторов и получателей данных.### [Остальные изменения]* По умолчанию отключена отладочная модель
  • Исправлена ошибка при временной загрузке конфигурационной директории extra
  • Добавлен мониторинг завершённого поведения записи лога log_write_done
  • Улучшено условие проверки каталога для создания общих файлов в классе Build
  • Добавлен мониторинг поведения response_send
  • В маршрутах добавлен параметр response для привязки поведения обработки ответа
  • Улучшены параметры передачи redirect
  • Улучшена работа с булевыми значениями переменных окружения
  • Улучшен класс Url для передачи доменного имени
  • Исправлено создание файлов через командную строку
  • Улучшено создание URL через командную строку
  • Добавлен параметр app_host для установки базового адреса URL по умолчанию
  • Улучшено определение метода isSsl класса Request для поддержки CDN
  • Добавлен параметр конфигурации record_trace для записи информации trace в журнал## 2017-05-20 V5.0.9

5.0.9 — это исправленная версия, рекомендованная для обновления. Основные изменения включают:

[База данных и модели]* Исправление автоматической записи ассоциаций

  • Исправление определения изменения данных моделей для пустых значений
  • Исправление возвращаемого значения метода useSoftDelete класса Query
  • Исправление проблемы определения массива однозначной связи вложенной ассоциации
  • Исправление бага кэширования при использовании ручного привязывания параметров
  • Улучшение одного места класса базы данных, где отсутствует возможность вложенного запроса
  • Улучшение механизма повторного соединения с базой данных при разрыве соединения
  • Улучшение метода appendRelationAttr класса модели
  • Улучшение метода destroy класса модели, чтобы он не выполнял удаление при передаче пустого массива
  • Улучшение вывода связанных данных многие-ко-многим
  • Улучшение метода save класса модели для поддержки метода allowField
  • Улучшение метода toArray класса пагинации, добавление общего колич�数字需要翻译成数字形式,但这里是一个描述性的表达,不需要改变。

ination数量

  • Добавление поддержки вложенного подзапроса в сравнении операторов

  • По умолчанию помощник db больше не требует обязательного повторного соединения

  • Улучшение указания полей для запроса belongsToMany

  • Добавление метода each класса пагинации### [Другое]

  • Исправление распознавания регистров правил маршрута групп

  • Исправление генерации разделения логов командной строки

  • Восстановление параметров маршрутов при создании URL, которые не проходят через urlencode

  • Улучшение механизма фильтрации класса Request, поддерживающего регулярные выражения

  • Улучшение класса Response для поддержки ручного установления типа контента

  • Исправление ошибки незадекларированного помощника функции в шаблоне исключения

2017-04-28 V5.0.8

Основные коррективы

  • Улучшение ассоциаций моделей
  • Улучшение записи логов
  • Добавление полиморфной однозначной связи
  • Исправление некоторых багов, сообщённых сообществом

[Запросы и маршруты]

  • Исправление метода cookie класса Request для поддержки префиксов
  • Улучшение метки кэша глобального кэширования запросов
  • Улучшение метода param класса Request
  • Исправление псевдонимных маршрутов### [Модели и база данных] Улучшение проверки обновления данных модели
  • Улучшение метода column в классе Query
  • Устранение проблемы множественного создания условий мягкого удаления при использовании замыканий запроса
  • Добавление метода синхронизации данных в связи типа belongsToMany
  • Поддержка статического вызова диапазонов запросов
  • Добавление полиморфной связи один-ко-одному (MorphOne)
  • Улучшение связи типа BelongsTo
  • Улучшение поддержки добавления и отмены связанных данных в полиморфных связях
  • Улучшение связи типа многие-ко-многим с поддержкой пользовательских моделей промежуточных таблиц без использования полного имени таблицы
  • Улучшение преобразования типов вещественных чисел для избежания появления запятых
  • Изменение значения, возвращаемого методом save ассоциированной модели
  • Первый параметр метода get класса модели должен быть обязательным; если передается null, то возвращается null
  • Улучшение метода save модели для случаев, когда данные не требуют обновления
  • Добавление метода useSoftDelete в класс Query, который позволяет отдельно устанавливать условия мягкого удаления
  • Переопределение методов selectOrFail и findOrFail в классе BelongsToMany
  • Переопределение методов select, find и paginate в классе BelongsToMany
  • Добавление свойства parent в модель и объект Pivot
  • Поддержка установки промежуточной таблицы в связи типа многие-ко-многим* Улучшение ключевых слов в методе view класса Query
  • При работе с основной и дополнительной базами данных использование транзакций всегда выполняется на основной базе данных

Другие изменения* Улучшение метода get в классе Cookie для получения всех значений

  • Добавление параметра config в команду schema, поддерживающего передачу конфигурации соединения с базой данных
  • Улучшение метода store в классе кэша для временного использования
  • Внесение исправлений в помощник функций кэша для поддержки параметров options
  • Исправление проблемы генерации карты классов при отсутствии директории EXTEND_PATH при выполнении команды optimize:autoload
  • Поддержка создания кэшированной карты классов для пользовательских корневых пространств имён
  • Обеспечение возможности сравнения полей модели с другими полями
  • Исправление ошибки при установке текущего контекста с помощью Session::prefix('xxx')
  • Улучшение команды optimize:schema
  • Исправление проблемы удаления файлов из многоуровневых директорий при использовании команды clear
  • Улучшение чтения основного языка и автоматического определения языков
  • Улучшение формата записи логов и реализация реального времени записи логов в командной строке
  • Исправление ошибки при работе с дефолтными значениями шаблонных меток
  • Улучшение поддержки полного домена при создании URL
  • Улучшение команды Clear для предотвращения удаления файла .gitignore
  • Исправление метода inc в драйвере кэширования Memcache

Изменения* При наличии пользовательского пространства имен приложений, параметр конфигурации app_namespace следует заменить на константу APP_NAMESPACE в точке входа.

  • Для таблиц промежуточного хранения в связях многие ко многим не требуется добавление префикса таблиц.
  • После применения метода scope в моделях можно использовать только методы запроса к базе данных, а не методы модели.

24 февраля 2017 года версия 5.0.7

Основные изменения

Основные изменения данной версии направлены на исправление ошибок и улучшения:

  • Улучшение глобального кэширования запросов для поддержки поддоменов;
  • Улучшение механизма автоматической обновляемости кэша данных;
  • Поддержка указания имени свойства для статистики в связях;
  • Поддержка массивного способа для вложенных связей моделей;
  • Поддержка методов has и hasWhere для связи HasOne;
  • Разрешение установки пустого значения для параметров ext и deny_ext в маршрутах (что означает запрет на использование любых расширений или обязательность использования расширений);

Исправлено* Исправление SQL-синтаксических ошибок при пустых условиях типа IN/NOT IN

  • Исправление метода toArray класса Pagination для поддержки режима минимизации
  • Исправление метода delete класса Model для работы с несколькими первичными ключами
  • Исправление поддержки мягкого удаления для MongoDB
  • Исправление возможной ошибки в классе Connection
  • Улучшение механизма кэширования метода find класса Query
  • Исправление связи BelongsTo
  • Исправление предваренной загрузки однозначных связей через JOIN
  • Исправление возможной ошибки предупреждения метода insert класса Query
  • Исправление конфликта использования Collection в классе Model
  • Исправление метода hasWhere класса Model
  • Исправление поддержки параметра ext при создании URL
  • Удаление пустых директорий при очистке кэша файлов
  • Исправление метода parseUrlPath класса Route### Настройки:* По умолчанию отключена безопасность сессий (secure) — этот параметр можно включить только при использовании HTTPS.

2017-02-07 V5.0.6

Основные изменения:

Основные изменения связаны с исправлением ошибок и оптимизациями (обновление возможно без проблем):

  • Добавлен механизм автоматического восстановления соединения с базой данных;
  • Улучшены параметры обратного вызова событий запросов;
  • Усовершенствован механизм автоматического кэширования данных;
  • Добавлена возможность автоматического преобразования временных полей;
  • Обновлены расширения MongoDB и Oracle до последней версии основной библиотеки;

[База данных и модели]* Исправлен метод has для связи hasMany;

  • Удалены некоторые конфигурационные параметры базы данных для избежания влияния на расширения базы данных;

  • Усовершенствовано значение возвращаемого значения метода attach для отношений многим ко многому;

  • Добавлен механизм автоматического восстановления соединения с MySQL и переключатель;

  • Усовершенствован механизм кэширования данных в классе Query;

  • Усовершенствованы параметры обратного вызова событий запросов в классе Query;

  • Усовершенствован механизм автоматического обновления кэша в классе Query;

  • В классе Model добавлен метод readonly;

  • Усовершенствованы методы has и hasWhere в классе Model;

  • Усовершенствованы методы get и all в моделях, второй параметр указывает на использование кэша;

  • Исправлены SQL-синтаксические ошибки, возникающие при пустых условиях запроса в замыканиях;

  • Усовершенствован метод setBuilder в классе Query, чтобы избежать проблем с поиском генератора после использования пользовательского соединителя;

  • Удалён устаревший атрибут resultSetType из класса Connection;

  • Усовершенствован метод close в классе Connection;

  • Исправлен метод bindParam в классе Connection для поддержки хранимых процедур;

  • Конфигурация параметра datetime_format теперь может быть установлена как false для отключения автоматического преобразования временных полей;

  • Усовершенствованы проблемы совместимости с мягкими удалениями для MongoDB;### [Другое]

  • Усовершенствован метод создания URL в классе Url, когда корневой адрес равен /;

  • Добавлен параметр with в помощник функции redirect и методе redirect контроллеров;

  • Добавлены правила исключения глобального кэширования запросов, добавлен параметр конфигурации request_cache_except;

  • Метод store класса Cache теперь позволяет передачу null значений для получения текущего драйвера кэширования;

  • Усовершенствованы правила проверки IP-адресов в классе Validate;

2017-01-23 V5.0.5

Основные изменения:

Основные изменения связаны с улучшением слоя доступа к данным и связей моделей:

  • Добавлены быстрые методы для выполнения запросов и установки параметров;
  • Добавлена возможность статистики связей;
  • Добавлена возможность отложенного предварительного загрузки связей;
  • Добавлена возможность автоматического записи и удаления однозначных связей;
  • Усовершенствованы запросы хранимых процедур;
  • Усовершенствован вывод связанных данных;
  • Улучшена производительность запросов;
  • Автоматическое форматирование временных полей моделей;### [Запросы и маршруты]
  • Улучшение проверки суффиксов в определении маршрутов
  • Метод rest класса Route поддерживает переопределение определений
  • Улучшение методов put и post класса Request для приема параметров в формате json
  • Класс Request получил метод contentType
  • Улучшение метода setRule класса Route
  • Улучшение метода create класса Request
  • Улучшение влияния методов маршрута до контроллерского класса на использование шаблонов по умолчанию
  • Исправление ошибки метода build класса Url, возникающей после определения псевдонима маршрута

[База данных и модели]

  • Добавлена функциональность ассоциативной статистики
  • Добавлено автоматическое внесение данных при однозначной ассоциации
  • Исправлен метод delete в модели агрегации
  • Улучшен метод useGlobalScope класса Model
  • Поддержка установки типа даты в виде имени класса для класса Model
  • В классе Query добавлены методы data, inc, dec, exp для быстрого изменения данных; параметры методов insert и update могут быть пустыми; чтение данных через метод data
  • Оптимизация производительности запросов в классе Connection
  • Исправлен метод parseOrder класса Builder
  • Исправлен метод attach класса BelongsToMany
  • Улучшен метод attach класса BelongsToMany с поддержкой массового внесения данных
  • Улучшен метод saveAll класса BelongsToMany с добавлением третьего параметра для указания согласованности дополнительных параметров* Поддержка многократного вызова метода order класса Query с объединением условий
  • Улучшение метода count для поддержки групповых запросов
  • Добавлена проверка для автоматического внесения времени
  • Улучшен метод writeTransform класса Model
  • Улучшено управление временными метками в классе Model
  • При записи объекта данных проверяется наличие метода __toString
  • Улучшен метод getFields класса MysqlDriver
  • Улучшена автоматическая сериализация временных меток
  • Поддержка массивов как условий LIKE
  • Автоматическая сериализация временных меток с использованием формата времени
  • Улучшение запросов для повторного использования одного поля с помощью оператора OR
  • Исправление объединения условий для NULL-запросов
  • Улучшение метода paginate класса Query с возможностью передачи первого параметра в виде массива
  • Улучшение возврата объектов набора данных от метода select класса Query; нативные запросы больше не поддерживают возврат объектов набора данных
  • Добавлен ряд методов быстрого запроса, таких как whereNull, whereIn
  • Изменён метод fetchPdo
  • Улучшение поддержки вызова хранимых процедур; улучшение механизма вызова getRealSql; улучшение поддержки привязки параметров для полей с дефисами
  • Добавлен параметр конфигурации базы данных result_type для установки типа возвращаемых данных; переименование параметров методов * Улучшение метода whereTime класса Query для поддержки большего количества выражений времени и дат (по умолчанию используется условие "больше" указанного времени)
    • Отменены значения по умолчанию для параметров методов min, max, sum, avg
    • В классе Query добавлен метод getPdo для возврата объекта PDOStatement
    • Улучшение запросов с использованием текущих дат
    • Улучшение получения связанных свойств
    • Улучшение проблемы повторного выполнения условий запроса в определении связи
    • Улучшение поддержки привязки параметров для кириллических полей
    • Улучшение метода insertAll класса Builder с поддержкой null и объектных данных
    • Улучшение типов привязки параметров с поддержкой автоматической привязки типа bit
    • Метод model класса Connection переименован в getQuery
    • Оптимизация метода __call класса Connection
    • Исправление модели агрегации
    • По умолчанию предварительная загрузка однозначной ассоциации теперь использует метод IN
    • Добавлен помощник функций collection для преобразования наборов данных
    • Добавлен помощник функции loadRelation для поздней предварительной загрузки массивов
  • Улучшение метода has класса Model с поддержкой второго параметра в виде массива или замыкания, что позволяет отказаться от использования hasWhere
  • Метод relation теперь поддерживает запросы к вложенным ассоциациям* Добавлен think\model\Collection как объект коллекции для выполнения запросов к наборам данных моделей
  • Отменён параметр alias при определении отношений (только morphTo остаётся)
  • Метод delete класса Model теперь поддерживает удаление без наличия первичного ключа
  • Метод allowField класса Model теперь поддерживает строки, разделённые запятой
  • Улучшена автоматическая привязка параметров при записи данных для решения проблемы путаницы названий параметров
  • По умолчанию имя свойства для предварительной загрузки отношений теперь используется в нижнем регистре с подчеркиванием
  • Методы with и relation класса Query теперь поддерживают повторное вызов
  • Класс Collection получил новые методы hidden, visible и append
  • Исправлена проблема принудительного удаления при использовании мягкого удаления

[Другое]* Валидация правил unique теперь поддерживает указание полной модели класса, а также по умолчанию будет проверять наличие модели; если модель отсутствует, будет проверена таблица данных.

  • Улучшены методы model, controller и validate класса Loader для прямой передачи имени класса для его экземплирования.
  • Класс Session получил новые безопасные опции httponly и secure.
  • Теперь можно использовать пользовательский драйвер Output для адаптации к вызову других командных строковых команд в режиме командной строки.
  • Улучшено решение проблемы загрязнения параметров метода action класса loader.
  • Валидатор класса Validate теперь использует равенство для проверки поля confirm.
  • Улучшено управление ошибками в классе Validate.
  • Исправлено поведение валидатора класса Validate при проверке логических значений.
  • Улучшен функционал помощника cookie для поддержки префиксов.
  • По умолчанию включена поддиректория кэша для файла кэширования для предотвращения проблем производительности из-за большого количиства файлов.### [Изменения]
  • Метод model класса Connection переименован в get_query.
  • Нативные запросы больше не поддерживают возврат объекта набора данных.
  • Тип возвращаемых значений пагинационного запроса стал think\Paginator (синтаксис остается прежним).
  • Полевые значения времени и даты моделей автоматически форматируются при выводе, дополнительная обработка не требуется.
  • Класс Session добавил параметры secure и httponly, которые по умолчанию установлены как true.## 2016-12-20 V5.0.4

Основные изменения:

  • Переработана связь моделей с добавлением поддержки полиморфизма для связи один ко многим;
  • Поддержка одного поля для нескольких вызовов различных условий запроса;
  • Добавлена поддержка событий CRUD для базы данных;
  • Поддержка передачи дополнительных параметров при маршрутизации к классу и контроллеру;
  • Поддержка глобального назначения переменных шаблонов;
  • Поддержка независимой установки объекта набора данных для модели;
  • Улучшение журналирования для командной строки и отладки;
  • Улучшение поведения методов класса Hook.### [Запросы и маршруты]
  • Поддержка кэширования запросов для отдельных модулей.
  • Метод post класса Request теперь поддерживает получение данных запроса в формате JSON.
  • Поддержка передачи дополнительных параметров при маршрутизации к методам класса и контроллеру.
  • Улучшено правило автоматического поиска директорий для контроллеров.
  • Улучшено кэширование запросов.
  • Улучшено автоматическое привязывание параметров.
  • Исправлены настройки кэширования запросов маршрута.
  • Улучшено поведение метода name класса Route.

[Базы данных и модели]

  • Добавлены события запросов базы данных (CRUD).
  • Улучшена работа с множественным обновлением таблиц при отсутствии полей.
  • Улучшен метод useGlobalScope в классе Model.
  • Исправлено проблемное поведение подзапросов как имен таблиц.
  • В классе Model добавлен атрибут resultSetType, который позволяет указывать тип объекта набора данных (по умолчанию пустое значение возвращает массив).
  • В классе Model добавлен метод toCollection (автоматически вызывается).
  • Изменено структурирование связанных моделей.
  • Улучшены параметры метода предварительной загрузки with для поддержки нижнего регистра и подчеркиваний.
  • Исправлен один из багов в работе с многими ко многим отношениями.
  • Улучшены запросы для многого ко многому отношений.
  • Поддержка полиморфных отношений одного ко многим.* Предварительная загрузка связанных запросов теперь поддерживает привязку свойств связанного объекта к текущей модели.
  • Поддерживается добавление свойств связанных объектов к данным текущей модели.
  • Предварительная загрузка однозначных отношений теперь поддерживает два способа JOIN и IN (по умолчанию используется JOIN).
  • Улучшены запросы для многого ко многому отношений.
  • Улучшены правила сравнения изменений при обновлении модели.
  • Поддерживается несколько условий поиска для одного поля.
  • Улучшены SQL-запросы лога.
  • Исправлено переопределение псевдонима самой таблицы в методе join.
  • Объединены атрибут connection класса модели и конфигурация базы данных по умолчанию.
  • Улучшены автоматические параметры для условий 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 класса App для поддержки внедрения зависимостей в архитектурных функциях
  • Добавление метода restore класса RedirectResponse с возвращаемым значением
  • Класс View получил статический метод share для статического присвоения переменных шаблонов
  • Класс Validate получил метод hasScene для проверки наличия конфигураций верификации для определённого сценария
  • Корректировка возвратного значения метода destroy для Redis и сессий
  • Удаление суффиксов методов действий из передачи параметров пустыми методами действий
  • Добавление типовых указаний при вызове request и view в контроллёре
  • Улучшение помощника функции input для поддержки получения многомерных данных
  • Класс Cache получил методы pull и remember
  • Улучшение правила верификации confirm класса Validate для поддержки автоматической идентификации правил
  • Улучшение определения ошибочных сообщений верификации
  • Добавление замены правил для пользовательских сообщений об ошибках верификации класса Validate* Класс Cookie получил метод permanent для постоянного хранения
  • Поддержка чтения шаблонов из корневого каталога представлений при рендере шаблона
  • Улучшение метода exec класса Hook### [Изменения]
  • Отказ от возможности установки объекта пользовательского набора данных в классе Db
  • Отмена метода fetchClass класса Query
  • Метод error контроллера по умолчанию возвращает пустую URL при AJAX запросах
  • Отказ от использования нижнего подчеркивания для определения связанных методов, теперь используется camelCase
  • Методы классов поведений должны использовать camelCase

2016-11-11 V5.0.3

Основные изменения:

  • Улучшение кэширования запросов;
  • Улучшение маршрутизации;
  • Совершенствование баз данных и моделей;
  • Поддержка захвата исключений с использованием рефлексии;
  • Улучшение класса File;
  • Исправление некоторых ошибок, найденных сообществом;### [Запросы и маршруты]
  • Автоматическая регистрация маршрутов ресурсов записывает текущее использование идентификатора ресурса;
  • Улучшение функциональности и определение кэширования запросов, поддерживающее глобальное автоматическое кэширование;
  • Исправление проблемы регистрозависимости при автоматическом поиске контроллеров;
  • Исправление автоматического поиска классов после привязки маршрута к пространству имен;
  • Улучшение метода parseRule класса Route для замены переменных маршрута без удаления этих переменных;
  • Улучшение автоматического поиска контроллеров;
  • Класс Route получил методы setOption и getOption для записи информации о параметрах маршрута во время его выполнения;
  • Оптимизация группировки маршрутов;
  • Улучшение генерации URL для группированных маршрутов;

[База данных и модели]* Поддержка метода однозначной связи с определением метода field

  • Агрегирующие модели поддерживают установку свойства field
  • Улучшение метода alias в классе Query
  • Улучшение методов join и view класса Query с параметром таблицы
  • Улучшение метода where класса Query
  • Улучшение метода paginate класса Query с поддержкой метода order
  • Улучшение методов min и max класса Query с поддержкой типов даты
  • Исправление метода мягкого удаления withTrashed
  • Оптимизация метода getRealSql класса Connection для генерации SQL### [ Другое ]
  • Добавлены конфигурационные параметры request_cache и request_cache_expire для глобального управления кэшированием запросов;
  • Исправлена фильтрация массивов в помощнике функции input;
  • Помощник функции cache поддерживает очистку кэша;
  • Улучшено выполнение метода load класса Config с обязательным преобразованием имени первого уровня конфигурации в нижний регистр;
  • Исправлено повторное создание URL;
  • В классе File исправлены проблемы распознавания загруженных файлов в некоторых средах;
  • Улучшено выполнение пустых методов класса App;
  • Генерация URL-адресов при развертывании домена не зависит от параметра конфигурации url_domain_deploy;
  • Исправлены проблемы развертывания домена в классе Url;
  • Поддерживается централизованное хранение шаблонов представлений вне модульных директорий;
  • Помощник функции cache поддерживает метод remember;
  • Метод input класса Request или помощник функции input поддерживают передачу значения null для параметра filter, что указывает на отсутствие фильтрации.## 24 октября 2016 года V5.0.2

Основные изменения:

  • Улучшение базы данных и моделей;
  • Улучшение функционала маршрутизации;
  • Добавлена поддержка конфигураций в формате YAML;
  • Улучшение внедрения зависимостей;
  • Улучшение класса Session;
  • Улучшение класса Cookie;
  • Улучшение класса Validate;
  • Поддержка захвата исключений для рефлексивных классов;
  • Исправление ошибок, сообщённых сообществом;### [Запросы и маршруты]
  • Классы, использующие внедрение зависимостей, автоматически вызывают метод invoke, если он определён
  • Метод header класса Request теперь поддерживает пользовательские заголовки
  • Прямое создание экземпляра класса Request запрещено
  • Улучшен метод ip класса Request
  • Правила маршрутов поддерживают определение через замыкания
  • Параметры маршрута поддерживают проверку значений ajax и pjax
  • Алиасы маршрутов поддерживают операции разрешения и исключения
  • Улучшена генерация URL после привязки маршрута к домену
  • Улучшена генерация маршрутов для поддержки маршрутизации до классов
  • Поддержана конфигурация параметра url_param_type для маршрутизации
  • Поддержка алиасов маршрутов
  • Правила переадресации маршрутов поддерживают больше схем (schema)
  • Алиасы маршрутов поддерживают определение отдельных методов запросов
  • Улучшена генерация URL для группированных маршрутов
  • Объединённые переменные правил маршрутов поддерживают определение разделителей
  • Улучшена получаемость объединённых параметров маршрутов
  • Правила маршрутов поддерживают отдельное определение разделителей URL, параметр маршрута — param_depr
  • Автоматический поиск контроллеров поддерживает случаи с пользовательским уровнем доступа к контроллерам
  • Улучшена независимость маршрутов от регистра символов* Улучшена проверка наличия маршрутов для адресов маршрутизации### [База данных и модели]
  • Улучшение метода join класса Query
  • Улучшение привязки параметров метода пагинации класса Query
  • Внесение исправлений в метод мягкого удаления
  • Внесение исправлений в метод parseOrder класса Query
  • Внесение исправлений в метод parseOrder драйвера sqlsrv
  • Внесение исправлений в методы setInc и setDec класса Query
  • Улучшение метода save класса Model для работы с первичными ключами, которые не являются автоинкрементными
  • Привязка целочисленных полей к параметрам, если они пустые, запись значения по умолчанию 0
  • Улучшение методов has и hasWhere класса Model
  • Улучшение проверки кэширования метода value класса Query
  • Улучшение метода join класса Query для поддержки подзапросов
  • Улучшение использования методов table и alias класса Query
  • Поддержка self-reference в методах preloading связи типа hasOne
  • Улучшение метода parseKey класса Builder
  • Улучшение парсинга методов join/alias/table класса Builder
  • Улучшение глобального диапазона запросов
  • Улучшение возвратов агрегирующих методов класса Query
  • Улучшение чтения связанных свойств
  • Улучшение ситуации, когда основной ключ модели и ключ связи совпадают
  • Улучшение получения имени контроллера при активированном параметре class_suffix### [ Другое ]
  • Класс Cache расширен методом remember для автоматической записи значений при отсутствии кеша
  • Класс Session расширен методом flash для установки временно действующих значений
  • Класс Session расширен методом flush для очистки текущих временно действующих значений
  • Класс Session расширен методом push для обновления массивных данных
  • Добавлена поддержка конфигурационного формата YAML
  • Улучшено решение проблемы непойманного исключения рефлексии класса App
  • Внесены исправления в операцию очистки функциями помощи сессий
  • Улучшен метод image класса валидации
  • Улучшен метод activeUrl класса валидации
  • Улучшена работа пользовательских правил валидации
  • Улучшено получение имени контроллера после автоматической поисковой загрузки
  • Внесены исправления в метод import для загрузки библиотек из директории extend
  • Внесены исправления в исключение "Failed calling XXX::jsonSerialize()" при использовании json_encode
  • Улучшено решение проблемы одиночества методов model и validate класса Loader
  • Улучшено логирование выполнения методов
  • Улучшен парсинг переменных Think в движке шаблонов
  • Улучшен метод load класса Lang
  • Поддержка мультиязычия сообщений об ошибках валидации
  • Улучшение константы ROOT_PATH
  • Улучшение загрузки пакетов языка
  • Улучшение получения переменных сессии и cookies в шаблонах, автоматическое определение префиксов* Добавлен метод handler для всех драйверов кеша для получения объекта управления (может быть null для некоторых типов кеша)
  • Класс File расширен методом __call для совместимости с методами md5 и sha1 версии 5.0
  • Улучшен метод clear файла кеша
  • Класс Lang расширен методом setLangCookieExpire для установки времени жизни cookie для мультиязычия
  • Добавлен параметр конфигурации route_complete_match

Изменения

Следующие свойства и методы моделей были переопределены с статических (static) до динамических:* Свойство relationModel агрегирующей модели

  • Свойство useGlobalScope класса Model
  • Глобальный метод диапазона запросов base был преобразован в динамический метод
  • Атрибут мягкого удаления deleteTime

2016-9-28 V5.0.1

Основные изменения:

[Запросы и маршруты]

  • Улучшение методов success и error класса Controller для распознавания адресов перехода с поддержкой большего количества схем
  • Поддержка автоматического внедрения любых объектов в методах операций и архитектурных методах
  • Добавление метода getInput класса Request для получения значений из php://input
  • Поддержка внедрения объекта запроса при маршрутизации метода
  • Улучшение метода маршрутизации класса Route для определения маршрута к классу
  • Добавление метода cache класса Request для поддержки кэширования запросов
  • При привязке к модулю маршрут продолжает проверяться первым
  • Добавление параметра кэширования запроса в маршруте
  • Исправление ошибки опциональных переменных в составных маршрутах### [База данных]
  • Исправление чтения информации о полях таблиц базы данных pgsql.
  • Улучшение метода view класса Query вторым параметром по умолчанию true для получения всех полей.
  • Добавление параметра query в конфигурацию базы данных для настройки имени объекта запроса.
  • Добавление свойства query в типы моделей для настройки имени объекта запроса, необходимого моделью.
  • Улучшение чтения кэша полей таблиц.
  • Улучшение генерации кэша полей таблиц для абстрактных моделей или моделей, не наследующих класс Model.
  • Улучшение кэширования полей моделей для виртуальных моделей.
  • Улучшение генерации кэша полей таблиц для поддержки создания кэша моделей модулей.
  • Улучшение метода save агрегирующей модели для записи ключа.
  • Упрощение определения свойства field класса модели, отмена методов allowField и setFieldType класса Query и связанных свойств.
  • Улучшение генерации кэша полей таблиц для поддержки нескольких баз данных.
  • Обновление классов драйверов баз данных, улучшение метода getTables.
  • Добавление команды optimize:schema для создания кэша информации о полях таблиц.
  • Исправление ошибки привязки параметров при множестве условий в одном запросе.
  • Второй параметр метода пагинации paginate принимает число как общее количество записей.
  • Исправление запросов JSON в MySQL.
  • Улучшение метода getOptions класса Query, который возвращает null при отсутствии параметра name.

[Модели и связи]* В классе модели field атрибут не требует определения типа поля.

  • Улучшение класса Model добавлением статического метода getDb для получения объекта запроса db.
  • Улучшение метода save в агрегирующей модели.
  • Улучшение метода save в классе Relation.
  • Исправление проблемы метода save в многим ко многим связях моделей.
  • Улучшение метода save в классе Model исправлением проблемы обновления при отсутствии запроса по первичному ключу.
  • При получении временного поля, если значение равно NULL, преобразование не выполняется.

[Другое]* Улучшение кэширования конфигураций с поддержкой расширяемых конфигураций

  • Отмена конфигурационного параметра extra_config_list. Расширяемые конфигурационные файлы следует помещать в директорию extra, чтобы они автоматически загружались (локация файлов баз данных остаётся без изменения)
  • Поддержка проверки действительности кэша в функциях помощника кэша
  • Исправление метода config в классах привязки движков шаблонизатора
  • Внедрение исправлений для ошибки вызова db() через __call при установке свойства модели field = true
  • Улучшение метода config в классах привязки движков шаблонизатора с поддержкой получения значений конфигурационных параметров
  • Улучшение анализа URL в redirect
  • Удаление методов md5 и sha1 в классе File, замена на метод hash, поддерживающий генерацию более широкого спектра хешей
  • Добавлен метаконтроль response_end
  • Улучшение загрузки по умолчанию языковых пакетов

2016-09-15 версия 5.0

[Запросы и маршруты]* Объект запроса поддерживает динамическое связывание атрибутов.

  • Исключение доступа к URL-адресам, определённым маршрутами.
  • Улучшение структуры хранения маршрутов.
  • Усиление функциональности группировки маршрутов с поддержкой вложенной и виртуальной группировки.
  • Эффективное обратное преобразование URL маршрута.
  • Улучшение приоритета получения параметров объектом запроса.
  • Добавлен метод name для установки и получения маркеров маршрутов.
  • Добавлены маршруты MISS и AUTO.
  • Класс Route получил метод auto, позволяющий регистрировать маршрут для автоматического анализа URL.
  • Поддержка привязки моделей к маршрутам.
  • Все маршрутизационные переменные должны получаться через метод param.
  • Поддержка маркеров маршрутов и автоматической привязки.
  • Добавлено командное действие для создания кэша маршрутов optimize:route.
  • Добавлен метод route для отдельного получения маршрутизационных переменных объектом запроса.
  • Первый параметр методов param, get, post, put, request, delete, server, cookie, env объекта запроса принимает значение false, что указывает на получение исходных данных без фильтрации.
  • Улучшение автоматической привязки маркеров маршрутов с поддержкой различных маршрутов, указывающих на один и тот же маркер маршрута, улучшение поддержки автоматического создания URL для маркеров маршрутов.
  • Улучшение инициализации атрибута filter класса Request.* Улучшение методов isAjax и isPjax класса Request
  • Добавлен метод token класса Request
  • Поддержка нескольких конфигурационных файлов маршрутов с использованием параметра конфигурации route_config_file
  • Поддержка HTTPS-проверки при привязке доменов
  • Улучшение привязки доменов с поддержкой одновременной привязки модулей и других компонентов, поддержка привязки к массиву определённых маршрутов, отмена привязки доменов к группам
  • Добавлен тип запроса PATCH для маршрутов
  • Добавлен параметр конфигурации route_complete_match для глобального определения полной совпадаемости маршрутов, который может быть переопределён параметром маршрута complete_match
  • Улучшение распознавания суффиксов параметров маршрутов с учётом системных псевдо-статических суффиксов параметров
  • Класс Url получил метод root для указания текущего адреса root (без доменного имени)
  • Улучшение поддержки опциональных параметров при создании URL

[База данных]* Автоматическое привязывание параметров в условиях запроса

  • Улучшение метода пагинации с поддержкой привязки параметров
  • Добавление параметра метки кэша в методе cache класса Query
  • Поддержка вызова метода cache в методах update и delete класса Query, что автоматически очистит указанный ключ кэша; используется вместе с методами кэширования запроса
  • Улучшение метода отложенной записи класса Query
  • Поддержка метода fetchsql в методах column и value класса Query
  • Улучшение метода запроса дат
  • Улучшение метода выполнения хранимых процедур exec
  • Улучшение метода получения последнего ID вставки getLastInsID класса Connection
  • Ведение журнала подключений базы данных (времени подключения и DSN)
  • Улучшение проверки результата выборки метода select класса Query
  • Добавление метода getNumRows класса Connection
  • Отмена возврата значений методом транзакций базы данных
  • Улучшение метода chunk класса Query для получения первичного ключа
  • Улучшение работы метода builder класса Query при использовании полного пространства имён типа драйвера базы данных

[Модели]* Добавлено функциональность мягкой очистки

  • Улучшены связи моделей и предварительная загрузка
  • Поддержана более широкая последовательность операций в замыканиях предварительной загрузки связей
  • Усовершенствован метод savell для поддержки обновлений и валидации
  • Обеспечено единство возвращаемого значения классом Relation при определении отношений
  • Поддержана возможность объединения в методах has и hasWhere классом Model
  • Реализована очистка исходных данных при массовом присваивании данных методом data классом Model
  • Активировано автоматическое обновление кэша при передаче true третьим параметром методу get классом Model
  • Добавлена поддержка только для чтения полей классом Model
  • Добавлен метод useGlobalScope для установки использования глобального диапазона запросов классом Model
  • Изменён метод base классом Model на статический тип для эффективного многократного использования
  • Поддержана возможность установки первичного ключа, информации о полях и типов полей классом Model без зависимости от автоматического получения, что повысило производительность
  • Поддержаны модификаторы в методе data классом Model
  • Улучшена поддержка нумерационных типов первичного ключа классом Relation
  • Улучшено удаление одного ко многим в классе Relation
  • Исправлена предварительная загрузка связей одного ко многим в классе Relation### [Журналы и кэш]* Поддержка разделённого хранения типов логов
  • Логи позволяют установить уровень записи
  • Добавлена функциональность кэширования меток
  • Класс кэша расширен методом pull для получения и удаления
  • Вспомогательные функции кэша добавлены параметр tag
  • Упрощение информации в логах, скрытие пароля базы данных
  • Добавление логики выбора библиотек для драйверов кэша/сеанса Redis
  • Поддержка параметра option для конфигурационных параметров драйвера Memcached
  • При режиме отладки добавление записи заголовков страницы и параметров в логи
  • Добавление параметров учётной записи и пароля для драйвера кэша Memcached
  • Поддержка установки сложных типов для кэша, возможность конфигурирования нескольких кэшей с использованием store для переключения
  • Добавлен метод tag в класс кэша для установки меток кэша, метод clear поддерживает очистку данных для конкретной метки кэша
  • Драйвер логов типа файл позволяет установить отдельные файлы для разных уровней логов
  • Улучшение правил названий файлов для кэширования и логов
  • Добавлены методы inc и dec в класс кэша для операций увеличения и уменьшения значений
  • Добавлен метод has в класс кэша, метод get поддерживает значение по умолчанию### [Другое]* Добавлена поддержка установки параметров шаблонной системы в представлении
  • Добавлен механизм создания и проверки токена формы
  • Добавлены правила валидации для китайского языка
  • Добавлены правила валидации для изображений и файлов
  • Объект ответа RedirectResponse теперь поддерживает метод with для передачи параметров
  • Улучшена автоматическая инициализация сессий
  • В класс Session добавлен метод pull для получения и удаления данных
  • Добавлен класс Env для получения переменных окружения
  • Изменение значений методов get/post/put в объекте Request продолжает влиять на метод param
  • Улучшены адреса перехода Jump для поддержки парсинга Url::build
  • Оптимизирован класс Hook
  • Добавлена поддержка режима отладки приложения и вывода трассировки страниц через переменные окружения
  • Функция помощника config теперь поддерживает использование config('?name')
  • Добавлена поддержка привязки модулей с использованием константы BIND_MODULE
  • Реализована автоматическая привязка модулей в файлах входа
  • Улучшены сообщения об ошибках и шаблоны вывода для класса исключения валидации, поддерживающие вывод ошибок массовой валидации
  • Улучшены консольные команды с добавлением некоторых часто используемых методов вывода
  • Добавлен функционал помощника token для быстрого отображения токена на страницах
  • Добавлен метод halt для отладки переменных и прекращения вывода* Улучшение правил валидации чисел в классе Validate, различая целые числа и числа с плавающей запятой
  • Улучшение автозагрузки с расширением области сканирования
  • Улучшение правил валидации логических значений в классе Validate, поддерживающих данные форм
  • Улучшение функции помощника cookie для проверки наличия конкретного значения куки
  • Улучшение функции помощника abort для поддержки выбрасывания исключения HttpResponseException
  • Улучшение класса File для обработки ошибок загрузки
  • Улучшение метода move класса File для возврата объекта с информацией загруженного файла, добавление метода для получения хэша файла
  • Улучшение метода move класса File для возврата экземпляра объекта File
  • Добавлены команды clear и optimize:config
  • Улучшение классов File и Validate для валидации типов файлов изображений
  • Методы действий контроллеров теперь поддерживают внедрение экземпляров объектов помимо Request
  • Метод param(true) класса Request теперь поддерживает получение данных вместе с файлами
  • Первый аргумент функции помощника input теперь имеет значение по умолчанию
  • Класс Validate получил правило валидации image и улучшил поддержку max/min/length для различных типов данных
  • Выброс исключения при неудачной сериализации данных при JSON-выводе

[Изменения]

  • Удаление определения маршрута отображения (статического маршрута)
  • Отмена конфигурации url_deny_suffix, теперь используется параметр deny_ext маршрута* Возвращаемое значение метода save модели изменено на количество затронутых записей, удалён параметр getId.
  • Метод controller объекта Request возвращает имя контроллера в CamelCase.
  • При отсутствии метода предварительной операции контроллера выбрасывается исключение.
  • Класс Loader метод db добавлен параметр идентификатора имени.
  • Добавлен третий параметр в помощник функций db для указания идентификатора соединения.
  • По умолчанию драйвер sqlsrv не выполняет преобразование полей таблиц данных в нижний регистр.
  • Удалён драйвер sae, теперь доступен как расширение пакета.
  • Драйвер Oracle выведен за рамки основного пакета.
  • Драйвер Firebird выведен за рамки основного пакета.
  • Удалён файл определения псевдонимов alias.php.
  • При чтении параметров конфигурации отменена проверка переменных окружения, при необходимости использования переменных окружения используйте класс Env.
  • Файл определения переменных окружения изменён на .env, теперь определяется в виде ini файла (поддерживается массивное определение).
  • Изменён порядок загрузки конфигураций состояния и расширений для удобства изменения параметров расширений в конфигурациях состояния.
  • Отменена возможность привязки домена к группе маршрутов.
  • Методы success и error класса контроллера поддерживают передачу пустой строки в качестве параметра url, что не требует никаких действий.* Методы error, success, result и redirect контроллера больше не требуют использования ключевого слова return.
  • Права доступа создания директорий изменены на 0644.

Версия 2016-7-1 RC4

[Основной архитектурный слой]

  • Добавлен класс Request с поддержкой автоматического внедрения зависимостей.
  • Унифицирована система автозагрузки Composer.
  • Добавлены расширения подкласса Response.
  • Введен класс File для работы с загрузками и файлами.
  • Отменена поддержка расширений моделей SAE с понижением привилегий.
  • Оптимизирован входной файл фреймворка.
  • Улучшено управление исключениями.
  • Изменены ввод и вывод в классе App.
  • Полная поддержка юнит-тестирования.
  • Добавлены новые команды консоли.
  • Отменены большинство постоянных значений за пределами системы.
  • Файлы отображения библиотек генерируются динамически через командную строку, включая приложение.### [База данных]
  • Добавлена методика разделения таблиц
  • Добавлены методы запросов по датам и времени
  • Добавлены методы пагинации запросов
  • Добавлены методы запросов к представлениям
  • По умолчанию поддерживаются поля таблиц с учётом регистра символов
  • Автоматическое обновление кэша данных
  • Усовершенствовано поддержание вложенных транзакций
  • Улучшено чтение данных из хранилищ процедур
  • Поддерживается установка типа возвращаемого набора данных при выполнении запросов

[Модели]

  • Добавлен расширенный тип модели Merge
  • Поддержка динамических запросов моделями
  • Расширена поддержка автоматической конвертации типов данных
  • Добавлен глобальный диапазон запросов
  • Поддержка скрытия и добавления свойств при преобразовании в json/toArray
  • Добавлена поддержка удалённого связывания one-to-many

[Другое]

  • Изменена структура хранения логов
  • Функционал отладки Trace выделен из класса логов и усилен
  • Функционал класса Input объединён с классом Request
  • Файлы отображения библиотек генерируются через командную строку, включая приложение
  • Аргумент data в методе check класса проверки теперь передаётся без ссылки
  • Добавлена возможность MISS маршрутизации
  • Добавлена возможность использования псевдонимов маршрутов## Версия 2016-4-23 RC3

[Основной архитектурный слой]

  • Разделены основные и прикладные репозитории фреймворка для удобства независимого обновления через composer
  • Переработан класс базы данных, разделённый на Connection (соединитель)/Query (запрос)/Builder (генератор SQL)
  • Переработан класс модели, сделан более объектным### [База данных]
  • Новый синтаксис запросов
  • Запросы и транзакции с использованием замыканий
  • Запросы через объект Query
  • Обработка данных порциями
  • Прислушивание к выполнению SQL

[Модели]

  • Объектные операции
  • Поддержка статического вызова (запросы)
  • Поддержка читателей/редакторов
  • Поля со временем создания/обновления
  • Обращение к объектам/массивам
  • JSON сериализация
  • Вызов событий
  • Именованные области
  • Автоматическая конвертация типов данных
  • Валидация и завершение данных
  • Запросы/вставка связей
  • Предварительная загрузка связей

[Другие изменения]

  • Добавлена быстрая маршрутизация в класс Route
  • Переработан класс валидации Validate
  • Добавлены методы быстрого создания модулей в классе Build
  • Улучшен класс генерации URL
  • Улучшен класс валидации Validate
  • Усовершенствован класс View и его движок шаблонов
  • Отменена темизация шаблонов движка шаблонов
  • Исправлены проблемы, сообщенные сообществом
  • Переименованы помощники функций
  • Файл router.php перемещён в новую позицию

Версия 2016-03-11 RC2* Переработана система автоматической проверки и автозаполнения (ранее использовались traits\model\Auto);

  • Независимый дизайн класса Validate;
  • Автоматическое создание функционала передается консоли;
  • Обработка регистрозависимости полей таблиц данных;
  • Улучшенный класс Controller (отменены traits\controller\View);
  • Улучшенный класс Input;
  • Улучшенный класс Url;
  • Улучшенный класс Cookie;
  • Оптимизация класса Loader;
  • Оптимизация класса Route;
  • Оптимизация класса Template;
  • Автоматическая инициализация класса Session;
  • Добавлены traits\model\Bulk для расширения модели для массового ввода и обновления данных;
  • Добавлен тестовый драйвер для классов кэширования и журналирования;
  • Улучшена система обработки ошибок и механизм исключений;
  • Добавлена возможность автоматического преобразования URL-контроллеров и действий;
  • Поддержка установки суффиксов для названий классов;
  • Отменено привязывание действий к классам;
  • Отменено использование параметра use_db_switch.## Версия 2016-1-30 RC1

[Основная архитектура]

  • Реальное ленивое загрузочное состояние
  • Разбиение основных компонентов на модули
  • Файлы запуска фреймворка
  • Полностью автоматическая загрузка библиотек (поддерживает Composer)
  • Расширение с помощью Traits
  • Дружественный к API вывод, отладка и обработка исключений
  • Изменение правил именования файлов

[Отладка и исключения]

  • Вывод, отладка и обработка исключений, специально разработанные для работы с API
  • Класс журнала поддерживает запись в локальные файлы/SAE/страницы Trace/SocketLog, что позволяет использовать удалённые плагины браузера для отладки
  • Встроенный метод trace для прямого удалённого отладки
  • Драйвер предупреждений об исключениях
  • Поддержка анализа производительности SQL баз данных

[Маршруты]

  • Динамическая регистрация маршрутов
  • Пользовательская функция проверки маршрута
  • Группировка маршрутов
  • Поддержка переменных в правилах маршрутов (включая глобальные и локальные) с использованием регулярных выражений
  • Закрытые маршруты
  • Поддержка маршрутизации к многоуровневым контроллерам

[Контроллеры]* Класс контроллеров больше не требует наследования от класса controller

  • Поддержка многократной маршрутизации контроллеров

  • Возможность использования Traits для внедрения продвинутых функций контроллеров

  • Расширение контроллеров REST/YAR/RPC/HProse/JSON-RPC

  • Поддержка исключения и указания конкретных действий### [Модели]

  • Упрощённая основная модель

  • Расширение модели с помощью Traits (продвинутые модели/модели представления/ассоциированные модели)

  • Поддержка чтения из главной базы данных при распределении между главной и зависимой базами

  • Улучшение методов join и order

[Представления]

  • Драйвер парсинга представлений (шаблонный движок)
  • Все методы теперь возвращают значения вместо прямого вывода, позволяя системе выполнять единственный вывод
  • Динамическое переключение тем шаблонов
  • Динамическое переключение шаблонных движков

[Базы данных]

  • Полностью реализовано на основе PDO
  • Упрощённая архитектура баз данных
  • Мониторинг производительности SQL (требуется включение режима отладки базы данных)
  • Улучшено привязывание параметров PDO

[Другие возможности]

  • Поддержка автоматического создания директорий и файлов MVC
  • По умолчанию функции добавляют переменной модификатор /s
  • В одном поведенческом классе можно определить различные методы для нескольких меток
  • Расширенный набор расширений социальных классов

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/alan_viky-blockchain_btc.git
git@api.gitlife.ru:oschina-mirror/alan_viky-blockchain_btc.git
oschina-mirror
alan_viky-blockchain_btc
alan_viky-blockchain_btc
master