Как стать автором
Обновить
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

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

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

Вклад авторов