snapshot 0.6 от 07.10.2016
PostPosted: 07 Oct 2016, 14:32
Исправления для PQEngine 0.6
Google Drive
Яндекс.Диск
Установка: извлечь самораспаковывающийся архив в папку с установленным PQBuilder с заменой файлов.
- исправлен баг с определением появления родителя у объекта (например, при установке его через метод setParent()), из-за которого объект уничтожался. По идеологии PHPQt5, объекты имеющие родителя не должны уничтожаться сборщиком мусора PHP;
- исправлен недочет с автоматическим приведением типов int <-> string, int <-> double, и др. Движок по прежнему не всегда может автоматически приводить типы для вызова перегруженных методов. Некоторые методы имеют множество перегрузок, из-за чего требуют явного вызова с правильными типами аргументов. В том случае, когда движок не сможет автоматически решить как произвести приведение типов, будет выдана ошибка E_ERROR Call to methodName() is ambiguous.
- добавлена перегрузка функции qvariant_cast(). Раньше для преобразования QVariant к нужному типу необходимо было указать этот тип.
Теперь для РазКуВариванчивания (о какое слово! :D) можно просто передать на вход только объект QVariant и получить исходное значение. Старый способ тоже сохранился.- Code:
$variant = new QVariant(1234); // быстрое приведение к int, мы уверены, что в $variant лежит число $intval0 = qvariant_cast($variant); // 1234 // обеспечиваем проверку типа $intval1 = qvariant_cast("int", $variant); // 1234 // выведет ошибку несовпадения типов $intval2 = qvariant_cast("string", $variant); // null
- исправлены обнаруженные баги с qvariant_cast(): функция пыталась найти метаобъект для примитивных типов int, string и др.
- добавлены функции для режима отладки: qCritical(), qDebug(), qInfo(), qFatal() и qWarning(). Функции работают почти одинаково, в дальнейшем они будут использоваться в отладчике приложений PQDebugger.
Почитать про них можно тут: http://doc.phpqt.ru/ru/Functions/qCritical. К слову, так будет в дальнейшем выглядеть документация PHPQt5.
Google Drive
Яндекс.Диск
Установка: извлечь самораспаковывающийся архив в папку с установленным PQBuilder с заменой файлов.