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

OSCHINA-MIRROR/iszmxw-cphalcon

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG-1.x.md 51 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 18:48 2b14b1f

Фалканк: изменения в версии 1.3.1 и 1.3.0

  • В Phalcon\Mvc\Model\Manager::getRelationRecords добавлены условия судьи.

  • Убрано ключевое слово final из конструктора модели.

  • Замена bindParam на bindValue для избежания неожиданных изменений ссылок (проблема №2111).

  • Tag::linkTo() позволяет добавлять параметры строки запроса (проблема №2002).

  • Добавлена опция allowEmpty в \Phalcon\Mvc\Model\Validator*.

  • Используется phalcon_camelize для пространства имён.

  • \Phalcon\Session\Adapter::setId добавлен.

  • Исправлена ошибка в BUG \Phalcon\Model\Validate*.

  • Быстрые сборки Travis.

  • Проблема №2157 исправлена, добавлены тесты.

  • Объявлены недостающие функции (проблема №2196).

  • Добавлен параметр allowEmpty в \Phalcon\Mvc\Model\Validator* (проблема №2002).

  • Метод \Phalcon\Db\Result\Pdo::nextRowset добавлен (проблема №2018).

  • Используется phalcon_camelize для пространства имён.

  • Решена проблема с сегфолтом в Phalcon\Di\Service::resolve при отсутствии строкового класса (проблема №2205).

  • Глобальные zvals перемещены в RINIT/RSHUTDOWN для улучшения стабильности на Windows TS сборках.

  • Предварительно выделенные фреймы перемещены в RINIT/RSHUTDOWN для улучшения стабильности на Windows TS сборках.

  • Сегфолт при замене адаптера Phalcon\Session на PHP пользовательский адаптер исправлен.

  • Ошибка zval недопустимого косвенного обращения в Phalcon\Security hash исправлена.

  • Сегфолт при передаче недопустимого количества аргументов в Phalcon\Annotations\Reader::parseDocBlock исправлен.

  • Частные и защищённые свойства не были раскрыты в Phalcon\Annotations\Reader.

  • Первый символ имени контроллера был удалён при включённом флаге isExactHandler.

Версия 1.3.0:

  • Исходный код совместим с PHP 5.6-dev и PHP 5.7-dev (проблема №1762).

  • Произведена очистка кода: устранены предупреждения компилятора, устранён мёртвый код, произведено дублирование кода, использованы статические анализаторы кода для устранения возможных ошибок (проблемы №801, №802, №810, №825, №827, №838, №849, №942, №968, №1001, №1093, №1169, №1214, №1223, №1224, №1375, №1430, №1787, №1794, №1828).

  • Различные утечки памяти исправлены (проблемы №469). — Исправлены проблемы с доступом к памяти, ошибки сегментирования и т. д. (#469, #849 и др.).

— Исправлены PHP-уведомления, предупреждения и другие несовместимости (#894, #1222 и др.).

— Исправлено наследование для Phalcon\Forms\Exception, Phalcon\Loader\Exception и Phalcon\Http\Request\Exception (#1770).

— Проведены значительные оптимизации исходного кода (#1785 и др.)

Примечание: в ответе не удалось перевести некоторые специальные символы. Контроль поведения Phalcon через настройки INI

Управление поведением Phalcon с помощью настроек INI

Проблемы безопасности:

  • Усиление защиты:
    • исправления для повышения надёжности (#1044);
    • проверка интерфейса (#1043, #1048);
    • тщательная проверка данных в wakeup() (#1043, #1634, #1635);
    • устранены уязвимости XSS (#1216, #1190);
    • функция Phalcon\Security::checkHash() позволяет ограничить длину пароля, чтобы избежать атак, подобных описанной на сайте www.djangoproject.com (2013, сентябрь 15, раздел «Безопасность») (#1261);
    • исправлен сбой при рендеринге метки элемента (#1210);
    • предотвращение атак внедрения запросов MongoDB (#1265);
    • не допускается переопределение суперглобальных переменных в представлениях (#1617).

Phalcon Kernel:

  • 32- и 64-битные хэши могут быть вычислены на одной и той же архитектуре ЦП (#817);
  • общее использование памяти сокращено (#834, #891, #893);
  • оптимизация распределения памяти (#912, #1220, #1987);
  • более быстрые внутренние манипуляции с массивами и строками (#822, #823, #830, #833, #837, #890, #1972);
  • Camelize больше не игнорирует последний символ строки (#1436);
  • исправлена ошибка в phalcon_fix_path() (#1601);
  • используются собственные аналоги для memory_get_usage(), gettype(), json_encode(), json_decode(), session_XXX(), header(), headers_sent(), debug_backtrace(), lcfirst(), ob_XXX(), array_unshift(), array_values(), array_keys(), htmlentities() (#836, #847, #936, #945, #1099);
  • функции хеширования адаптированы для обработчиков объектов (#842);
  • оптимизированы вызовы функций и методов пользовательского пространства (#843, #954);
  • чтение, изменение и обновление свойств оптимизировано (#848);
  • добавлена поддержка областей self/parent/static в статических свойствах (#943);
  • оптимизации поиска области видимости (#948);
  • память из функций ядра не восстанавливается (#960, #976);
  • диагностические сообщения при компиляции Phalcon в режиме разработки (#1009, #1054,). - Оптимизация возвращаемого значения ([#1046, #1047, #1075]).
  • Исправлена проблема с локалью ([#1095]).
  • Добавлена поддержка интернированных строк (PHP 5.4+).
  • Оптимизация статического свойства fetch/update ([#1293]).
  • Исправление вводящей в заблуждение диагностики при исключении ([#1297]).
  • Использование предварительно выделенных постоянных zvals вместо null, true, false, 0 и 1 ([#1302]).
  • Исправление ошибки в phalcon_fix_path() ([#1591]).
  • Постоянный кэш функций для методов Phalcon ([#1825]).
  • Оптимизация вызова функции ([#1846]).
  • Использование Native Reflection API ([#1957]).

Phalcon\Acl:

  • Устранена ошибка наследования ACL ([#905]).
  • Исправлено, когда ACL разрешал доступ к запрещённым ресурсам ([#1303]).
  • Устранена ошибка с подстановочным знаком ACL * ([#1409]).
  • Устранена ошибка с числовыми ресурсами ([#1513]).
  • Phalcon\Acl\Adapter теперь реализует Phalcon\Acl\AdapterInterface ([#1852]).

Phalcon\Annotations:

  • Исправлен баг getProperty() в AnnotationsAdapter ([#996]).
  • Оптимизации Phalcon\Annotations ([#1141]).
  • Исправлен анализ аннотаций, содержащих / ([#1480]).
  • Аннотационный парсер оптимизирован ([#1957]).

Phalcon\Assets:

  • Исправлены ошибки, когда минификатор не выдавал никакого вывода вообще ([#811, #821]).
  • Исправлено объединение ([#951]).
  • Добавлена поддержка символов UTF-8 в jsmin.
  • Исправлена цепочка фильтров CSS/JS ([#1198]).
  • Фильтры Phalcon\Assets\Filters\CssMin и JsMin реализуют интерфейс Phalcon\Assets\FilterInterface ([#1539]).
  • Добавлен Phalcon\Assets\Collection::setTargetLocal() ([#1532]).

Phalcon\Cache:

  • Добавленный бэкэнд кэша Libmemcached ([#913]).
  • Поддержка APCu 4.0.2+ ([#1234]).
  • Реализован Phalcon\Cache\Backend\Memory::queryKeys() ([#1093]).
  • Исправления ошибок в Phalcon\Cache\Backend\Xcache ([#1406]).
  • Оптимизированы фронтенды Phalcon\Cache\Frontend\Data, Phalcon\Cache\Frontend\None, Phalcon\Cache\Frontend\Base64, Phalcon\Cache\Frontend\Igbinary, Phalcon\Cache\Frontend\Output, Phalcon\Cache\Frontend\Json. Оптимизации бэкенда кэша памяти Phalcon (#1093):
  • Оптимизации бэкенда кэша файлов Phalcon (#1093).
  • Оптимизации бэкенда APC кэша Phalcon (#1093).
  • Оптимизации бэкенда Xcache кэша Phalcon (#1093).
  • Оптимизации бэкенда Memcache кэша Phalcon (#1093).
  • Оптимизации бэкенда Mongo кэша Phalcon (#1093).
  • Оптимизация и исправление ошибок в бэкенде Libmemcached кэша и Phalcon\Cache\BackendInterface (#1852).

Добавлены методы increment() и decrement() (#1374).

Добавлен метод flush() (#1352).

Phalcon\Config:

  • Ускоренная реализация Phalcon\Config с использованием обработчиков объектов (#837, #1277).
  • Поддержка числовых свойств в Phalcon\Config (#837).
  • Реализован Phalcon\Config::offsetUnset() (#732).
  • Phalcon\Config\Adapter\Ini корректно обрабатывает пустые секции и INI-файлы без секций (#829, #837).
  • Добавлен класс Phalcon\Adapter\Config\Json для чтения конфигураций JSON (#844).
  • Теперь Phalcon\Config::merge работает с производными классами (#1024).
  • Правильно обрабатываются директивы с точками в INI-файлах (#872).
  • Поддерживаются массивы PHP в качестве конфигурационных файлов (#1439).

Phalcon\Crypt:

  • В Phalcon\Crypt добавлена поддержка различных схем заполнения (PKCS7, ANSI X.923, ISO 10126, ISO/IEC 7816-4, заполнение нулями, заполнение пробелами) (#864, #887).
  • Снижено пиковое использование памяти (#1237).
  • encryptBase64() и decryptBase64() могут опционально использовать RFC 4648 вариант BASE64 (#1353, #1919).

Phalcon\Db:

  • Добавлена поддержка масштаба DECIMAL (#940).
  • Исправлены некорректные имена последовательностей для PostgreSQL (#1022).
  • Добавлена поддержка типа MySQL DOUBLE (#1128).
  • Диалекты баз данных теперь поддерживают тип данных BOOLEAN (#816).
  • Добавлена поддержка POINT типа в MySQL (#1536).
  • Решена проблема с RawValue('default') для составного первичного ключа (#1534).
  • Добавлена поддержка столбцов AUTO_INCREMENT для addColumn() (MySQL, SQLite) и modifyColumn() (MySQL) (#1695).
  • Phalcon\Db\Dialect\Mysql::getColumnDefinition() теперь возвращает INT вместо INT(0) (#1695).
  • Добавлена поддержка следующих режимов выборки из PDO: FETCH_LAZY, FETCH_BOUND, FETCH_COLUMN, FETCH_CLASS, FETCH_INTO, FETCH_FUNC, FETCH_NAMED, FETCH_KEY_PAIR. Перевод текста на русский язык:

1642:

  • Добавлена поддержка следующих модификаторов режима выборки из PDO: FETCH_GROUP, FETCH_UNIQUE, FETCH_CLASSTYPE, FETCH_SERIALIZE, FETCH_PROPS_LATE 1642.
  • Оптимизации Phalcon\Db 1693.
  • Оптимизации Phalcon\Db\Adapter 1693.
  • Оптимизации Phalcon\Db\Index 1693.
  • Оптимизации Phalcon\Db\Profiler 1693.
  • Оптимизации Phalcon\Db\Reference 1693.
  • Оптимизации Phalcon\Db\Result\Pdo 1693.
  • Phalcon\Db\Adapter теперь реализует интерфейс Phalcon\Db\AdapterInterface 1852.
  • Phalcon\Db\Dialect теперь реализует интерфейс Phalcon\Db\DialectInterface 1852.
  • Phalcon\Debug:
    • Поддержка UTF-8 добавлена в \Phalcon\Debug 1099.
    • Теперь Phalcon\Debug::uri поддерживает как http, так и https 987.
    • Исправлена ошибка преобразования массива в строку 1103.
    • Добавлена поддержка xdebug.file_link_format 1401.
  • Phalcon\Di:
    • Оптимизация Phalcon\Di 1014 с обходными путями для NuSphere DBG 1714.
    • Метод Phalcon\Di\Service::isResolved() добавлен 1242.
    • Убедитесь, что 'persistent' разрешается только при первом обращении 1637.
    • Более быстрая реализация DI с использованием обработчиков объектов 1473.
    • Изменения в интерфейсе Phalcon\DiInterface 2034:
      • метод setShared() удалён, поскольку он является сокращением для set($name, $definition, true);
      • метод attempt() удалён, поскольку он является сокращением для has() + set();
      • переименован setRaw() в setService(), потому что getRaw() на самом деле getService() + $service->getDefinition();
      • setRaw() теперь является псевдонимом для setService(), но будет выдавать E_DEPRECATED;
      • удалён getRaw(), потому что это getService() + $service->getDefinition();
      • модифицирован setService($name, $raw_definition) в setService($raw_definition), поскольку имя службы можно получить из определения.
  • Phalcon\Dispatcher:
    • Параметры диспетчеризации теперь могут быть изменены в событиях 'beforeExecuteRoute'.
    • События 'beforeException' теперь могут обрабатывать исключения, возникающие при выполнении действий 140.
    • Добавлены методы Phalcon\Dispatcher::getHandlerClass и Phalcon\Dispatcher::getActionMethod.
    • Реализовано событие afterInitialize 782.
    • Оптимизация Phalcon\Dispatcher 782.
    • Добавлены getPreviousControllerName() и getPreviousActionName() 1462.
    • Если обработчик событий генерирует исключение, вызовите dispatch:beforeException и прервите цикл отправки 1763.
    • Phalcon\Dispatcher::_handleException() вызывается независимо от того, присутствует ли менеджер событий 1953.
  • Phalcon\Element:
    • В методе Phalcon\Element::addFilter() NULL неправильно добавляется в начало списка 1019.
  • Phalcon\Escaper:
    • Ошибки в Phalcon\Escaper исправлены 917.
    • Оптимизация Phalcon\Escaper. Phalcon\Mvc\Model\Query\Builder теперь может использовать как целочисленные, так и строковые плейсхолдеры (#701).

Mvc\Model\getMessages() теперь фильтруется (#885).

Исправлена реализация отношения hasManyToMany (#938).

Исправлено регулярное выражение в \Phalcon\Mvc\Model\Validator\Email (#1243).

Методы Phalcon\Mvc\Model::hasOne, hasMany, belongsTo, hasManyToMany, addBehavior() теперь являются публичными (#1166).

Добавлен метод Phalcon\Mvc\Model\Row::toArray() (#1506).

Phalcon\Mvc\Model\Validator::getOption() возвращает NULL, если опция не существует (#1530).

Устранена ошибка с пользовательским Event Manager в Phalcon\Mvc\Models (#1314).

__construct() в Phalcon\Mvc\Model\Query\Builder больше не игнорирует объединения (#1327).

Исправлен HAVING в Phalcon\Mvc\Model\Query\Builder (#1396).

Микроколлекции возвращают Phalcon\Mvc\Micro\CollectionInterface (#1130).

Phalcon\Mvc\Url::get() может добавлять параметры запроса (#723, #877).

Оптимизация регулярного выражения для Phalcon\Mvc\Router (#977).

PHQL: добавлена поддержка плейсхолдеров в LIMIT (#1023).

Добавлены методы Phalcon\Mvc\Router::getDefautXXX() (#1087).

Разрешено использование HAVING без GROUP BY в Query Builder (#1115).

Оптимизации mvc/model/query.c (#1129, #1132).

Поддержка массива (limit, offset) в качестве конструктора ключа «limit» в Query Builder (#1208).

Поддержка условий в Phalcon\Mvc\Model\Query\Builder::__construct() (#1236).

Добавлены Phalcon\Mvc\View::isDisabled(), Phalcon\Mvc\View::getRenderLevel(), Phalcon\Mvc\View::getDisabledLevels() (#907, #1320).

Добавлена Phalcon\Mvc\View::getCurrentRenderLevel() (#907, #1326).

Исправлена ошибка в Phalcon\Mvc\Model\Resultset\Simple::toArray() (#1377).

Исправлены ошибки в компиляторе Volt (#1387).

Оптимизирован компилятор Volt (#1729).

Оптимизированы Phalcon\Mvc\Model\Query\Builder (#1414).

Можно устанавливать директории без конечных слэшей в Phalcon\Mvc\View (#406, #1440).

Phalcon\Mvc\Model\Validator::getOption() возвращает null, если опции не существует (#1531).

Добавлена функция Phalcon\Mvc\Model::selectWriteConnection() (#1519).

Добавлены функции Phalcon\Mvc\Router\Group::convert()/getConverters() (#1555, #1572).

Добавлена функция Phalcon\Mvc\Router\Route::getGroup() (#1682).

Добавлены функции Phalcon\Mvc\Router\Group::getName() и setName(). - Faster Phalcon\Mvc\Model\Row

  • Optimized Phalcon\Mvc\Router\Group
  • Исправлена ошибка: в обработчике beforeMatch в Phalcon\Mvc\Router не передавались аргументы
  • Добавлена диагностика, когда валидатор возвращает false, но не вызывает appendMessage()
  • Исправлено обращение с числовыми пространствами имён/модулями/контроллерами/действиями
  • Добавлены Phalcon\Mvc\View::exists() и Phalcon\Mvc\View(\Simple)::getRegisteredEngines()
  • Volt: исправлена ошибка в email_filed()
  • Исправлены предупреждения об устаревании в Phalcon\Mvc\Collection::save() и Phalcon\Mvc\Collection::delete()
  • Phalcon\Mvc\Model\Behavior теперь реализует Phalcon\Mvc\Model\BehaviorInterface
  • Phalcon\Mvc\Model\Metadata теперь реализует Phalcon\Mvc\Model\MetadataInterface
  • Phalcon\Mvc\Model\Validator теперь реализует Phalcon\Mvc\Model\ValidatorInterface
  • Phalcon\Mvc\View\Engine теперь реализует Phalcn\Mvc\View\EngineInterface
  • Методы Phalcon\Mvc\Model\Validator::getOption()/getOptions()/isSetOption() теперь являются публичными
  • Phalcon\Mvc\Model::findFirst() теперь работает, когда phqlLiterals имеет значение false
  • Исправлены уведомления, когда phalcon.orm.column_renaming равен 0
  • Реализован reset() для адаптеров метаданных, отличных от памяти
  • Ослаблено требование к маршруту начинаться с косой черты
  • В Phalcon\Mvc\Router\Group: сливаются косые черты, когда префикс маршрута заканчивается, а шаблон маршрута начинается с косой черты
  • Phalcon\Mvc\Model\Criteria::fromInput() теперь работает с картами столбцов

Phalcon\Paginator:

  • Phalcon\Paginator\Adapter\Model возвращает правильные результаты, даже когда номер страницы неправильный
  • Оптимизирован Phalcon\Paginator\Adapter\QueryBuilder
  • setCurrentPage() возвращает $this для всех адаптеров
  • Оптимизирован Phalcon\Paginator\Adapter\NativeArray

Phalcon\Queue:

  • Исправлена ошибка в Phalcon\Queue\Beanstalk::read()
  • Исправлены ошибки в реализации протокола beanstalkd
  • Оптимизация
  • Добавлен peekDelayed() и peekburied() в Phalcon\Queue\Beanstalk
  • Добавлены kick(), bury(), release(), touch() в Phalcon\Queue\Beanstalk\Job

Phalcon\Registry

Phalcon\Security:

  • Phalcon\Security\Exception наследуется от Phalcon\Exception, а не от \Phalcon\Di\Exception
  • Добавлен Phalcon\Security::computeHmac() Исправления ошибок и улучшения в Phalcon:
  • Исправление ошибок (Phalcon\Security::checkHash()). Сравнение строк с постоянным временем для предотвращения атак по времени (#1347).

  • Сравнение строк с постоянным временем в Phalcon\Security::checkHash() для предотвращения атак по времени (#1755).

  • Правильное обращение с хэшами, отличными от bcrypt, в Phalcon\Security::checkHash().

  • Поддержка всех хэшей, поддерживаемых crypt(), в Phalcon\Security::hash().

  • Устранение необходимости в OpenSSL в Phalcon\Security::getSaltBytes().

Изменения в Phalcon\Session:

  • Исправлена ошибка в Phalcon\Session\Bag::remove().

  • Добавлен метод remove() в интерфейс Phalcon\Session\BagInterface.

  • Метод get() в адаптере Phalcon\Session может дополнительно удалять данные из сессии.

  • Оптимизация адаптера Phalcon\Session.

  • __destruct в Phalcon\Session\Adapter теперь вызывает session_write_close().

  • Интерфейс Phalcon\Session\AdapterInterface совместим с SessionHandlerInterface.

  • Адаптер Phalcon\Session теперь реализует интерфейс Phalcon\Session\AdapterInterface.

  • Теперь метод __get в Phalcon\Session\Bag возвращает значение по ссылке (в отличие от get()).

  • Phalcon\Session\Bag реализует интерфейсы ArrayAccess, Countable, IteratorAggregate.

  • Адаптер Phalcon\Session реализует интерфейсы ArrayAccess, Countable, IteratorAggregate.

  • Оптимизированный адаптер Phalcon\Session с использованием обработчиков объектов.

Изменения в Phalcon\Tag:

  • Исправлены ошибки (#903).

  • Исправлено создание радиокнопок (#947).

  • Непротиворечивое поведение setAutoescape() (#1263).

  • Добавление отсутствующих типов ввода HTML5 (#824, #1323).

  • Добавлена функция setTitleSeparator() (#1365).

  • Поддержка (#1422).

  • Исправлена непоследовательность в Tag::stylesheetLink/javascriptInclude относительно локальных URL-адресов (#1486).

Изменения в Phalcon\Translate:

  • Оптимизация Phalcon\Translate\Adapter и Phalcon\Translate\Adapter\NativeArray с использованием обработчиков объектов (#1668).

  • В Phalcon\Translate\Adapter\NativeArray::query() теперь заменяются заполнители, даже если строка не найдена в языковом контенте (#2044).

Изменения в Phalcon\Validation:

  • Поддержка кодов ошибок (#1171).

  • Исправленные ошибки (#1399).

  • Оптимизация Phalcon\Validation\Message\Group с использованием собственных итераторов (#1657).

  • Оптимизация Phalcan\Validation\Message\Group с использованием обработчиков объектов (#1765).

  • Валидатор Phalcon теперь реализует интерфейс валидатора Phalcon\Validation\ValidatorInterface (#1852).

Изменения в Psr\Log:

  • При установке параметра phalcon.register_psr3_classes в php.ini интерфейс Psr\Log\LoggerAwareInterface, интерфейс Psr\Log\LoggerInterface, абстрактный класс Psr\Log\AbstractLogger, исключение Psr\Log\InvalidArgumentException, уровень Psr\Log\LogLevel регистрируются как классы PSR-3. Phalcon: обновления и улучшения

  • Psr\Log\NullLogger, Psr\Log\LoggerAwareTrait (PHP 5.4+), Psr\Log\LoggerTrait (PHP 5.4+) зарегистрированы как внутренние интерфейсы/классы/traits в Phalcon (#1888).

Модульные тесты:

  • Travis CI улучшения (#819, #846, #949).
  • Использовать markTestSkipped() вместо echo (#862).
  • Не запускать APC тесты под CLI, когда apc.enable_cli равен 0 (#1449).
  • Добавлены новые тесты (#865, #1256, #1260, #1339, #1560, #1563).
  • Пропускать тесты базы данных, если СУБД недоступна (#970).
  • Поддержка опционального RVO (#1147).
  • Визуализация тестового покрытия (#1307, #1361).
  • Исправления ошибок в тестах (#1313, #1334, #1335, #1449, #1467).

Документация:

  • Исправлены ошибки (#1069, #1070, #1072, #1145, #1146, #1205, #1372, #1397, #1521, #1523, #1586 и многие другие).
  • Рефакторинг, улучшение и оптимизация скрипта сборки (#1218).
  • Другие исправления ошибок (#1051, #1131, #1040, #1275, #1392, #1396, #1399, #1425, #1426 и др.).

1.2.6 (2014-01-26)

  • Phalcon\Security::checkHash() корректно обрабатывает хэши, отличные от bcrypt (#1912).

1.2.5 (2014-01-13)

  • __toString в Phalcon\Http\Cookie не будет вызывать исключения (#1427).
  • __toString в Phalcon\Http\Cookie будет возвращать строковое значение (#1428).
  • Camelize больше не игнорирует последний символ строки (#1436).
  • APC тесты не запускаются под CLI, когда apc.enable_cli равно 0 (#1449).
  • Phalcon\Debug::uri теперь поддерживает http и https (#987).
  • Устранена несогласованность в Tag::stylesheetLink/javascriptInclude относительно локальных URL-адресов (#1486). Исправлена ошибка в Phalcon\Queue\Beanstalk::read() (#1348, #1612).

Phalcon\Flash\Session::getMessages() некорректно удалял все сообщения (#1575).

Исправлена ошибка в phalcon_fix_path() (#1601).

Добавлен метод Phalcon\Mvc\Model\Row::toArray() (#1506).

Добавлена поддержка типа POINT в MySQL (#1536).

Phalcon\Mvc\Model\Validator::getOption() возвращает NULL, если опция не существует (#1530).

Исправлено парсинг аннотаций, содержащих / (#1480).

Убедитесь, что «persistent» разрешается только при первом доступе (#1637).

Исправлен Phalcon\Session\Bag::remove() (#1637).

Исправлены ошибки в реализации протокола beanstalkd.

Phalcon\Paginator\Adapter\Model возвращает правильные результаты, даже когда номер страницы неправильный (#1654).

Исправлена ошибка: обработчику beforeMatch в Phalcon\Mvc\Router не передавались аргументы (#1556).

Учитывается настройка уровня логирования Phalcon\Logger\Adapter::setLogLevel() транзакциями (#1716).

Исправлены ошибки в Phalcon\Db\Adapter\Pdo::describeColumns() (#1562).

Теперь __destruct в Phalcon\Session\Adapter вызывает session_write_close() (#1624).

Volt: исправлена ошибка в email_filed() (#1723).

Исправлены PHP-уведомления в Phalcon\Debug::onUncaughtException() (#1683).

Phalcon\Logger\Adapter::commit() очищает очередь (#1748).

Сравнение строк с постоянным временем в Phalcon\Security::checkHash() (#1755).

Исправьте phalcon_escape_multi(), чтобы он генерировал действительный UTF-8 (#1681).

Версия 1.2.4 (2013-10-23)

Исправлена неработающая иерархия ACL (#905).

Исправлен сбой при рендеринге метки элемента (#1210).

Исправлены уязвимости XSS (#1216, #1190).

Добавлена поддержка APCu 4.0.2+ (#1234).

Исправлено связывание фильтров CSS/JS (#1198).

Исправлены уведомления и предупреждения со сложными запросами PHQL (#1222).

Оптимизировано выделение памяти (#1220).

Исправлен регулярный выражение в \Phalcon\Mvc\Model\Validator\Email (#1243).

Исправлены недочёты документации.

Методы Phalcon\Mvc\Model::hasOne/hasMany/belongsTo/hasManyToMany/addBehavior() теперь являются общедоступными (#1166).

Добавлена поддержка типа MySQL DOUBLE (#1128).

Поддерживаются символы UTF-8 в jsmin.

Поддержка UTF-8 добавлена в \Phalcon\Debug (#1099).

Исправлена регрессия в \Phalcon\Http\Request::getRawBody() (#1091).

Реализован \Phalcon\Cache\Backend\Memory::queryKeys() (#1093).

В перенаправлениях используются описания статусов из RFC 2616. 1.2.3 (2013-08-16)

  • Исправлены проблемы с безопасностью (#1144).

1.2.2 (2013-08-06)

  • Phalcon\Mvc\Model\Query\Builder теперь может использовать как целочисленные, так и строковые заполнители (#701).
  • Устранены проблемы с некорректным чтением памяти при включённом GC (#469, #927).
  • Теперь Phalcon\Flash\Session::getMessage('key') возвращает пустой массив, если ключ не найден (#908, #920).
  • Исправления в Phalcon\Escaper (#917).
  • Решены проблемы с утечками памяти для PHP < 5.4 (#910, #914, #916).
  • Исправлены нарушения доступа к памяти (#911, #918, #927, #928).
  • Оптимизировано выделение памяти (#912).

1.2.1 (2013-07-25)

  • Снижено общее использование памяти (#834, #891, #893).
  • Улучшена скорость внутренней обработки массивов и строк (#830, #833, #837).
  • Исправлена компиляция PHP 5.5 на Windows.
  • Параметры диспетчеризации теперь можно изменять в событиях «beforeExecuteRoute». В запросе представлен текст, связанный с разработкой и тестированием программного обеспечения на основе фреймворка Phalcon.

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

Основной язык текста — английский. Поддержка минимизации CSS на лету.

  • Поддержка реальных вложенных транзакций в Phalcon\Db с использованием точек сохранения базы данных.
  • Поддержка создания/списка/удаления представлений в Phalcon\Db.
  • Добавлено событие application:viewRender в Phalcon\Mvc\Application, позволяющее разработчику вызывать метод $view->render по своему усмотрению.
  • Добавлена опция отключения литералов в PHQL-выражениях, что значительно снижает вероятность атаки с помощью SQL-инъекций.
  • Теперь можно передавать массив переменных с виртуальной локальной областью видимости в Phalcon\Mvc\View::partial().
  • Синтаксис CAST(expr AS datatype) теперь поддерживается PHQL.
  • Поддержка CONVERT(expr USING charset) в PHQL.
  • Поддержка {% include "hello" with [var1, var2] %}
  • Phalcon\Mvc\Collection::find получает параметр «fields» для указания списка полей.
  • Добавлены Phalcon\Forms\Element\Email и Phalcon\Tag::emailField.
  • Поддержка определения массивов с использованием фигурных скобок в Volt {'a': 'b', 'c': 'd'}.
  • Поддержка выполнения множественных присваиваний в одном наборе в Volt {% set a = b, c = d %}.
  • Volt теперь поддерживает блоки «if» / «else» с пустыми телами.
  • Поддержка действия «cascade» в дополнение к «restrict» в виртуальных внешних ключах (ORM).
  • Добавлен отсутствующий Phalcon\Http\Request\File::getType().
  • Phalcon\Tag больше не является абстрактным, позволяя создавать его экземпляры.
  • Phalcon\Tag теперь зарегистрирован как «tag» в Phalcon\Di\FactoryDefault.
  • В обработчике в Phalcon\Mvc\Micro возвращается объект, реализующий Phalcon\Http\ResponseInterface, ответ автоматически отправляется.
  • У Phalcon\Mvc\View теперь есть цепной API.
  • Phalcon\Mvc\Micro теперь может опционально получать DI в своём конструкторе.
  • Теперь, если метод получает неправильное количество параметров, вместо предупреждения генерируется исключение BadMethodCallException.
  • Phalcon\Mvc\Model/Phalcon\Mvc\Collection теперь проверяет наличие метода «onConstruct», позволяя разработчику выполнять инициализацию каждый раз при создании экземпляра модели/коллекции.
  • Phalcon\Mvc\Model/Phalcon\Mvc\Collection теперь проверяет наличие метода «afterFetch», позволяя разработчику выполнять инициализацию каждый раз, когда экземпляр модели/коллекции создаётся в операции findFirst/find.
  • Добавлен Phalcon\Mvc\Collection::summatory, упрощающий генерацию этого типа агрегации.
  • Поддержка логических литералов в PHQL.
  • Поддержка сложных выражений в GROUP BY в PHQL.
  • Теперь исключения PHQL включают само выражение PHQL.
  • Псевдонимы для пространств имён теперь поддерживаются в PHQL.
  • Acl\Memory был переписан, чтобы сделать его проще и быстрее, вы можете регенерировать свои сериализованные ACL.
  • Поддержка операторов присваивания +=, -=, *=, /= в Volt.
  • Поддержка сценариев установки оптимизации на основе профиля (см. блог).
  • Добавлен Phalcon\Annotations\Adapter\Xcache для хранения аннотаций в Xcache.
  • Добавлен Phalcon\Mvc\Model\Metadata\Xcache для хранения метаданных моделей в Xcache.
  • Улучшения в построителе запросов, позволяющие определять связанные параметры в методах «where».
  • Добавлен Mvc\Model\Query\Builder::inWhere для добавления выражения IN к запросу.
  • Добавлен Mvc\Model\Query\Builder::notInWhere для добавления выражения NOT IN к запросу.
  • Добавлен Mvc\Model\Query\Builder::betweenWhere для добавления выражения BETWEEN к запросу.
  • Теперь Phalcon\Session\Bag автоматически внедряет стандартный DI, если он не был назначен вручную.
  • Добавлен Phalcon\Forms\Manager для ссылки на формы и извлечения их из любой части приложения.
  • Если элемент в Phalcon\Forms не имеет определённой метки, теперь возвращает имя элемента в качестве метки.
  • Теперь, если валидатор в Phalcon\Validator определил опцию «cancelOnFail» => true, проверка будет прервана, если валидатор не пройдёт.
  • Добавлен Phalcon\Validation\Validator\Between для проверки значения между. Диапазон двух значений
  • Добавлен Phalcon\Validation\Validator\Confirmation для проверки соответствия значения подтверждающему значению (другой атрибут в проверяемых данных).
  • Phalcon\Forms\Form теперь расширяет Phalcon\Di\Injectable, позволяя разработчикам использовать сервисы приложения при инициализации формы.
  • Теперь вызовы Phalcon\Mvc\Router можно связывать.
  • Phalcon\Mvc\Router::getRewriteUri теперь является публичным.
  • Добавлена возможность реализации произвольных условий для отмены сопоставления с помощью Phalcon\Mvc\Router\Route::beforeMatch.
  • В Phalcon\Mvc\Model теперь можно настроить выдачу исключения при неудачном сохранении процесса.
  • Добавлен компонент Phalcon\Assets для управления ресурсами CSS/Javascripts в приложении.
  • Добавлен метод Phalcon\Annotations\Collection::getAll для возврата всех аннотаций в коллекции, соответствующих имени.
  • Добавлен компонент Phalcon\Crypt для обеспечения средств шифрования для приложений Phalcon.
  • Теперь Phalcon\Http\Request: get, getQuery и getPost возвращают соответствующие суперглобальные переменные в случае отсутствия параметров.
  • Теперь Phalcon\Mvc\Router поддерживает ограничения хоста simple/regex.
  • Добавлена поддержка фильтрации/очистки в Phalcon\Validation.
  • Добавлены события beforeValidation/afterValidation в Phalcon\Validation и Phalcon\Forms\Form.
  • Добавлена возможность регистрации пользовательских опций в элементах Phalcon\Forms\Form.

И так далее...

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

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

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

1
https://api.gitlife.ru/oschina-mirror/iszmxw-cphalcon.git
git@api.gitlife.ru:oschina-mirror/iszmxw-cphalcon.git
oschina-mirror
iszmxw-cphalcon
iszmxw-cphalcon
master