Как стать автором
Обновить
0

Phalcon *

Высокопроизводительный PHP-фреймворк

Сначала показывать
Порог рейтинга
Уровень сложности

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

Время на прочтение5 мин
Количество просмотров11K
image

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

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

Собственно, сам переезд был осуществлен еще 11 октября 2017 — руки не доходили написать про это. Но, думаю, тем кто использует флакон будет интересно.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии11

Новости

Релиз Phalcon 2.1.0 beta 1

Время на прочтение6 мин
Количество просмотров7.9K
Мы рады представить вам первый бета-релиз Phalcon 2.1!

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

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

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

Мы уверены, что изменения в этом релизе оправдают обновление :)
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии0

Релиз Phalcon 2.0.4

Время на прочтение6 мин
Количество просмотров5.3K
В рамках графика наших трех-пятинедельных минорных релизов, мы рады сообщить, что вышел Phalcon 2.0.4!
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии0

Релиз Phalcon 2.0.3

Время на прочтение3 мин
Количество просмотров4.6K
В рамках нашего расписания регулярных релизов, мы рады сообщить, что 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
Читать дальше →
Всего голосов 5: ↑2 и ↓3-1
Комментарии4

Истории

Релиз Phalcon 2.0.2

Время на прочтение2 мин
Количество просмотров7K
Процесс разработки 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
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии3

Phalcon 2 вышел

Время на прочтение2 мин
Количество просмотров31K


Ожидание закончилось! Phalcon 2.0 уже здесь!

После более чем года разработки, мы невероятно рады объявить о выпуске финального релиза Phalcon 2.0.
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии68

Одностраничный магазин на Phalcon PHP + AngularJS. Работа над ошибками

Время на прочтение9 мин
Количество просмотров39K
image

Введение

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

Исповедь

Да, мануал был полезен для меня, для меня старого, того, кому в 2009 году отказали в работе в местной веб-студии, и он по сей день ни разу ни работал в команде, ни разу не работал на наёмной работе, а полагался только на себя, и главным критерием эффективности реализации проектов был один — главное, что работает. Но это я — старый, после написания той статьи, и множества комментариев, я впервые решил попробовать сделать всё по правилам хорошего тона, хотя бы ради интереса.
Что из этого вышло?
Всего голосов 51: ↑37 и ↓14+23
Комментарии55

Одностраничный магазин с корзиной на Phalcon + AngularJS + Zurb Foundation

Время на прочтение7 мин
Количество просмотров37K

Введение


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

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



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


Читать дальше →
Всего голосов 52: ↑25 и ↓27-2
Комментарии45

Защита веб-приложения на Phalcon + AngularJS от CSRF атак

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

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


К сожалению источника я сейчас не помню, но не раз замечал что между тегов частенько в meta лежали токены на крупных сайтах. Если вы посмотрите документацию Phalcon, то увидите что генерация токена происходит в форме. Вот так по-умолчанию генерируется токен в форме:
Читать дальше →
Всего голосов 16: ↑6 и ↓10-4
Комментарии21

Простой каркас Rest Api на основе Phalcon

Время на прочтение2 мин
Количество просмотров8.5K
Привет всем.
Вот хочу предложить небольшой пример реализации простого rest api на основе популярного фреймвокра Phalcon. Даже фаткически не реализацию, а её каркас. Сразу уточню что статья расчитана на новичков. Людей обознанных и опытных врядли заинтересует содержимое.
Phalcon предоставляет широкие возможности для разработки, а также очень большую свободу для творчества и создания хороших продуктов, потому пример действительно очень прост.
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Комментарии13

Удивительный фреймворк phalcon

Время на прочтение3 мин
Количество просмотров15K
Недавно в нашей компании было решено попробовать фреймворк phalcon c целью в перспективе кое-что отрефакторить и в новом коде использовать именно его. Причины банальны — скорость работы, симпатичный orm.

Но вот в процессе тестирования фреймворка у меня в голове все чаще и чаще стал всплывать термин «Принцип наименьшего удивления». И именно потому, что я все больше и больше удивлялся.
Подробности
Всего голосов 16: ↑11 и ↓5+6
Комментарии10

Phalcon Framework на продакшене

Время на прочтение5 мин
Количество просмотров25K
Последним временем известность набирает необычный в среде php фреймворк Phalcon, который является расширением языка. Думаю, что многим интересно узнать, каков фреймворк в бою, однако по тем или иным причинам не могут позволить себе использовать его в разработке. В моей компании решились на такую авантюру и я спешу поделиться увиденным и нащупанным. Добро пожаловать под кат.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии33

PHP фреймворк 2013

Время на прочтение1 мин
Количество просмотров44K
Идея провести голосование навеяна странной статьей, результаты которой хочется поставить под сомнение. Возможно предпочтения действительно определяются регионом и маленькой выборкой автора, поэтому предлагаю провести голосование среди большого Хабрасообщества.
Читать дальше →
Всего голосов 57: ↑41 и ↓16+25
Комментарии149

Ближайшие события

Phalcon PHP фрейморк. Работа с аннотациями

Время на прочтение10 мин
Количество просмотров14K
«vivo, presto, prestissimo...»

О Phalcon пока еще мало материалов, но фреймворк достаточно интересный и заслуживающий внимания. Одно из интересных решений Phalcon — расширенные возможности по использованию аннотаций. Парсер написан на C, работает очень быстро. Позволяет легко и непринужденно перенести часть настроек (чуть ли не большую часть) из конфигурационных файлов в код.

Читать дальше
Всего голосов 21: ↑13 и ↓8+5
Комментарии9

Релиз Phalcon 1.2.0

Время на прочтение7 мин
Количество просмотров5.5K


Мы рады объявить о релизе новой версии Phalcon.

Прошло чуть больше двух месяцев с момента выпуска предыдущей версии, и команда разработчиков представляет один из самых больших и серьёзных релизов быстрейшего фреймворка для PHP написанного как Си-расширение.
Новая версия содержит множество новых функций, исправлений ошибок и оптимизаций. Мы также обновили сайт и готовимся к большим обновлениям документации и описания API.

Нововведения Phalcon 1.2.0:
  1. Динамические пути для скомпилированных шаблонов Volt
  2. Расширение возможностей Volt
  3. Ссылки для статичных и динамических путей в Phalcon\Mvc\Url
  4. Phalcon\Mvc\View\Simple
  5. Улучшена работа с JSON
  6. Поддержка Many-To-Many в ORM
  7. Работа с виртуальными внешними ключами
  8. Минификация Javascript и CSS
  9. Запрет переменных (литералов) в PHQL
  10. Расширены возможности Partials
  11. Использование Phalcon\Tag как сервиса
  12. Макросы в Volt
  13. BadMethodCallException вместо предупреждений
  14. Компонент отладки

Скачать
Новый девиз
Благодарности

Читать дальше →
Всего голосов 46: ↑38 и ↓8+30
Комментарии13

Phalcon 1.1 beta

Время на прочтение4 мин
Количество просмотров12K

После успешного релиза PHP-фреймворка Phalcon 1.0, команда разработчиков продолжает работать над его развитием. В этой статья я хочу осветить наиболее интересные фичи, представленные в версии 1.1.0 BETA



Читать дальше →
Всего голосов 57: ↑47 и ↓10+37
Комментарии29

Первая бета Phalcon 1.0.0

Время на прочтение5 мин
Количество просмотров20K
Сегодня группа разработчиков Phalcon выпустила первую бета-версию фреймворка Phalcon 1.0.0. Для тех, кто не в курсе: Phalcon — это PHP-фреймворк, написанный на Си и работающий как расширение для PHP, прочитать про него на Хабре можно в статьях Phalcon — скомпилированный PHP MVC Framework и Phalcon: Давайте учиться на примере.
Цель выпуска этой версии — получение обратной связи от сообщества и обнаружение максимума ошибок.



Краткий анонс важных нововведений этой версии:
  1. Многоуровневое кеширование
  2. Улучшения в шаблонизаторе Volt
  3. Горизонтальный и вертикальный шардинг
  4. Запись состояния (Record Snapshots)
  5. Динамическое обновление
  6. Валидация

Читать дальше →
Всего голосов 124: ↑110 и ↓14+96
Комментарии49

Phalcon: Давайте учиться на примере

Время на прочтение9 мин
Количество просмотров53K
PHP MVC Framework — PhalconPHP
Совсем недавно на хабре упоминался PHP MVC Framework написанный на языке C, где были описаны его преимущества и недостатки. Этой статьёй я хочу продолжить знакомство с довольно интересным инструментом веб-разработчика — PhalconPHP.

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

Лучший способ использовать это руководство – пройти его шаг за шагом.
Давайте приступим
Всего голосов 43: ↑35 и ↓8+27
Комментарии45

Phalcon — скомпилированный PHP MVC Framework

Время на прочтение7 мин
Количество просмотров56K

Создание скомпилированных MVC фреймворков для PHP не раз приходила на ум кодерам.

Достоинства такого подхода:
  • Высокая производительность
  • Малая нагрузка файловой системы
  • Меньший расход памяти (при строгой типизированности)
  • Частичная обработка данных без интерпритации

И само собой не менее явные недостатки:
  • Если Вы не знаете C, то Вы полностью зависите от разработчиков
  • Проект может в любую секунду сдуться
  • В зависимости от архитектуры, часть модулей все равно приходится писать самому, что уменьшает выигрыш

Читать дальше
Всего голосов 55: ↑47 и ↓8+39
Комментарии101