Процесс разработки Phalcon с момента выхода 2.0.0 значительно ускорился. Все больше и больше контрибьюторов находит Zephir легким и понятным для работы. Результатом этого стал релиз Phalcon 2.0.2. Эта версия включает в себя множество новой функциональности, исправлений ошибок и улучшения производительности:

  • Добавлен метод stats() в Beanstalk
  • Устранено падение при doc-блоке без аннотаций #10301
  • Исправлено неверное количество передаваемых параметров при срабатывании события в Mvc\Collection
  • Теперь Mvc\Model проверяет есть ли у атрибута значение по умолчанию, указанное в схеме БД и игнорирует его при генерации SQL для вставки/обновления
  • Исправлен критический баг при вызове Http\Request::hasPut() #10283
  • Phalcon\Text: добавлен метод reduceSlashes() — убирает множественные слешы, заменяя их одиночными
  • Phalcon\Text: добавлен метод concat() — объединяет строки с использованием разделителя без дублирования в местах конкатенации.
  • Добавлено условие в адаптере start() сессии для проверки наличия уже начатой сессии
  • Добавлен метод status() в адаптере сессии для проверки факта начала сессии
  • Внедрение подзапросов в PHQL
  • Повышение производительности, ориентированное на PHP5.6

Подзапросы (Subqueries)


Одна из наиболее востребованных сообществом фич наконец реализована в Phalcon 2.0.2. Теперь вы можете использовать подзапросы:

$phql = "SELECT c.* FROM Shop\Cars c
WHERE c.brandId IN (SELECT id FROM Shop\Brands)
ORDER BY c.name";
$cars = $this->modelsManager->executeQuery($phql);

Модели должны принадлежать к той же базе данных для того, чтобы использоваться в качестве источника в подзапросе.

Значения БД по умолчанию


Теперь, в случаях, если столбец имеет значение по умолчанию, описанное в схеме, оно будет использоваться вместо вставки NULL:

$robots = new Robots();
$robots->save(); // use all <code>default</code> values

Обновление


Данная версия может быть установлена из master ветки, если у Вас еще не установлен Zephir, выполните следующие действия:

git clone http://github.com/phalcon/cphalcon
git checkout master
cd ext
sudo ./install

Стандартный метод установки также работает:

git clone http://github.com/phalcon/cphalcon
git checkout master
cd build
sudo ./install

Если Zephir у вас установлен:

git clone http://github.com/phalcon/cphalcon
git checkout master
zephir fullclean
zephir build

Обратите внимание, что при запуске установочный скрипт заменит любую установленную ранее версию Phalcon.

DLL библиотеки для Windows доступны на странице загрузки.

См. раздел обновление до 2.0.х для получения дополнительных сведений об обновлении с версии 1.3.х.

Скоро


В будущих 2.0.x версиях мы сконцентрируем наши усилия на запросах сообщества:

  • Eager-Loading в PHQL
  • Опциональные пустые строки в ORM
  • PHQL пользовательские функции
  • Case Statements в PHQL
  • Алиасы неймспейсов в PHQL

В дальнейшем мы будем планировать функциональность для включения ее в 2.1, сейчас это:

  • Отказ от PHP 5.3
  • Унификация Phalcon\Mvc\Model\Validation и Phalcon\Validation

Спасибо


Спасибо всем, кто принимал участие в создании этой версии, всему сообществу, за их непрерывную работу и обратную связь!

Комментарии (3)


  1. egorsmkv
    26.05.2015 09:44

    Известно, когда в PPA обновят?


    1. iGusev Автор
      26.05.2015 11:55

      В прошлый раз спустя сутки обновили. Тут все обсуждение.


  1. PaulMaly
    27.05.2015 23:54

    Спасибо ребята! Будем обновлять! Хорошо бы ещё сделать опциональные параметры в роутах Микро приложений. Нам этого сильно не хватает.