• Опыт перехода проекта на phalcon с php 5.6 на 7.1

      image

      Время идет, прогресс приносит свои плоды, каждый месяц выходят новые версии того или иного программного обеспечения. То же происходит и с языком PHP. Наша команда проекта krisha.kz решила, что уже пора совершить переход на новую версию интерпретатора. Мы поделимся опытом перехода PHP с версии 5.6 на 7.1, который обслуживает наш основной монолит.

      Существует видео об устройстве этого монолита. Его особенностью является, то что он основан на фреймворке Phalcon версии 2. В связи с этим, помимо обновления самого PHP, нам нужно было поработать и над переходом на 3-ю версию Phalcon.

      Собственно, сам переезд был осуществлен еще 11 октября 2017 — руки не доходили написать про это. Но, думаю, тем кто использует флакон будет интересно.
      Читать дальше →
    • Релиз Phalcon 2.1.0 beta 1

      • Перевод
      Мы рады представить вам первый бета-релиз Phalcon 2.1!

      Релизы 2.1.x будут поддерживаться в течении более длительного периода, 2.1 будет нашей первой версией с долгострочной поддержкой (LTS).

      В 2.0.x мы ввели несколько новых фич и поправили множество багов. Однако, наше внимание всегда было обращено на сохранение обратной совместимости с Phalcon 1.3.x, в то же время мы стимулировали разработчиков обновляться до 2.0.x. Это дало достаточно времени разработчикам на внесение изменений в свои приложения для работы с новой веткой.

      Phalcon 2.1 предоставляет новые возможности, некоторые из которых несовместимы с предыдущими версиями, поэтому убедитесь, что вы проверили свои приложения перед обновлением production-систем.

      Мы уверены, что изменения в этом релизе оправдают обновление :)
      Читать дальше →
    • Релиз Phalcon 2.0.3

        В рамках нашего расписания регулярных релизов, мы рады сообщить, что Phalcon 2.0.3 был выпущен!

        Эта версия содержит множество исправлений, а также новые возможности, основанные на фидбеке сообщества.

        Изменения


        • Реализованы псевдонимы для namespace в PHQL
        • Возможность определять должен ли виртуальный внешний ключ игнорировать `null`-значения или нет
        • Добавлена поддержка `Phalcon\Mvc\Collection` в поведениях (Behaviours)
        • Добавлены поведения `SoftDelete` и `Timestampable` в коллекциях
        • Исправлена ошибка, добавляющая двойной `?` в `Mvc\Url::get` при использовании параметров #10421
        • Строковые атрибуты в моделях теперь имеют опциональную поддержку пустых значений строки #440
        • Добавлена возможность возвращать SQL, генерируемый в экземплярах `Mvc\Model\Query` #1908
        • Исправление некорректно генерируемого запроса в `Phalcon\Db\Dialect::select()` #10439
        • Добавлена поддержка типа Double в MySQL
        • `Phalcon\Tag\Select` теперь обрабатывает массив значений строк, избегая принятия нуля за пустую строку #2921
        • PHQL теперь поддерживает выражения CASE/WHEN/ELSE #651
        • Исправлена ошибка, возникающая при добавлении нестроковых значений в `Phalcon\Crypt::encrypt` из `Phalcon\Http\Cookies`
        • Исправлена ошибка непередачи имени схемы (PostgreSQL)
        • Атрибут `persistent` был удален из DNS-атрибутов для PDO соединений, в целях избежания ошибок в PostgreSQL #10484
        Читать дальше →
      • Релиз Phalcon 2.0.2

        • Перевод
        Процесс разработки 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
        Читать дальше →
        • +16
        • 6,6k
        • 3
      • Ой, у вас баннер убежал!

        Ну, и что?
        Реклама
      • Одностраничный магазин на Phalcon PHP + AngularJS. Работа над ошибками

          image

          Введение

          Всем привет! Не так давно я написал публикацию «Одностраничный магазин с корзиной на Phalcon + AngularJS + Zurb Foundation», которая имела неоднозначный эффект мягко говоря. А точнее получила много отрицательных комментариев, какие-то были объективные и конструктивные, какие-то нет, и они меня заставили задуматься, почему так произошло, ведь я хотел сделать полезный мануал, который пригодиться мне и другим, начинающим писать на AngularJS.

          Исповедь

          Да, мануал был полезен для меня, для меня старого, того, кому в 2009 году отказали в работе в местной веб-студии, и он по сей день ни разу ни работал в команде, ни разу не работал на наёмной работе, а полагался только на себя, и главным критерием эффективности реализации проектов был один — главное, что работает. Но это я — старый, после написания той статьи, и множества комментариев, я впервые решил попробовать сделать всё по правилам хорошего тона, хотя бы ради интереса.
          Что из этого вышло?
        • Одностраничный магазин с корзиной на Phalcon + AngularJS + Zurb Foundation

            Введение


            Всем привет! Завтра у меня дедлайн по проекту, который я делаю для местной Камчатской компании по доставки еды. И поэтому у меня есть две причины написать эту статью, первая — прокрастинация перед дедлайном, а вторая — я не нашёл на Хабре какого-либо обучающего мануала по написанию корзины товаров на AngularJS.

            Я нашёл статью на стороннем блоге, которая частично помогла мне решить пару задач, которые стояли передо мной. Но оформление статьи оставляло желать лучшего, да и за 5 лет я уже отвык от кода в блокноте, без подсветки синтаксиса, поэтому нужно было как-то структурировать и сделать более читабельной эту полезную информацию.



            Почему был выбран формат одностраничного магазина?


            Читать дальше →
          • Защита веб-приложения на Phalcon + AngularJS от CSRF атак

              Привет всем! Не так давно столкнулся с проблемой защиты веб-приложения написанного на Phalcon PHP Framework вместе с AngularJS. Проблема заключалась в том что на странице есть несколько форм, которые посылают AJAX-запросы на сервер. Как подружить два фреймворка в вопросах безопасности, централизованного решения я не нашёл, пришлось его собирать по кусочкам из разных источников. И в этой статье я бы хотел предложить всем кто столкнулся, или столкнётся с такой проблемой, готовое рабочее решение.

              Генерируем токен в meta-теге


              К сожалению источника я сейчас не помню, но не раз замечал что между тегов частенько в meta лежали токены на крупных сайтах. Если вы посмотрите документацию Phalcon, то увидите что генерация токена происходит в форме. Вот так по-умолчанию генерируется токен в форме:
              Читать дальше →
            • Простой каркас Rest Api на основе Phalcon

                Привет всем.
                Вот хочу предложить небольшой пример реализации простого rest api на основе популярного фреймвокра Phalcon. Даже фаткически не реализацию, а её каркас. Сразу уточню что статья расчитана на новичков. Людей обознанных и опытных врядли заинтересует содержимое.
                Phalcon предоставляет широкие возможности для разработки, а также очень большую свободу для творчества и создания хороших продуктов, потому пример действительно очень прост.
                Читать дальше →
              Самое читаемое