Доклад с PUG#6 https://www.facebook.com/events/837043689707114/
1. Почему стоит обратить внимание на этот фреймворк. Какие очевидные плюсы и выгоды мы можем из этого извлечь.
2. Реализация основных компонентов фреймворка, безопасность и архитектура.
3. Инструменты для масштабирования highload-проекта, предусмотренные самим фреймворком.
2. С расширение как фреймворк
Плюсы:
1.Быстро
2.Дешево
3.Чисто
Минусы
1.Одна версия фреймворка на все
приложения
2.Отсутствие поддержки на
shared хостинге
10. Phalcon Query Language
• Связанные (bound) параметры — часть языка PHQL, помогающая вам
обезопасить наш код
• PHQL разрешает выполнить только один SQL оператор за вызов,
предотвращая инъекции
• PHQL игнорирует любые SQL-комментарии, часто использующиеся в
SQL-инъекциях
• PHQL разрешает выполнять только операторы работы с данными,
избегая изменения или удаления таблиц/баз данных по ошибке или
извне без авторизации
• PHQL реализует высокоуровневую абстракцию, позволяющую вам
оперировать моделями как таблицами и атрибутами класса — как
полями таблицы.
22. Почему это удобно?
• Мало файлов, меньше кода.
• Удобно подключать в качестве микросервиса к
другому проекту
• Роутим запрос параметром метода в котором
описана логика.
• Возможность использования коллекций
23. Ложка дегтя
• Мало файлов, куча срача. (обратная сторона плюса)
• Неудобно поддерживать (следствие)
31. Что есть Volt
• Компилируется в PHP
• {{ отрисовка }} и {% операции %}
• Фильтры
• Проверки
• Макросы
• Экранирование
• Партиционирование
• Автоматическое экранирование
50. • В приведенном выше примере мы
использовали кэш в памяти. Он
полезен в качестве первого уровня
кэша. Как только у нас есть кэш в
памяти, мы можем реализовать слой
кэша второго уровня с помощью APC /
XCache или базы данных NoSQL
63. Что нравится
• Возможность задать 2 разных baseUrl, один из
которых будет использоваться для статических
ресурсов
• Изоляция данных сессии внутри приложения
• Быстрые аннотации написанные на С
• Обертка для GD библиотеки (Image компонент)
• Инструменты миграции
(PhalconMvcModelMigration)
• Phalcon Developer Tools
64. А что не нравится
- Примеры паршивые:
- sha1($pass) без соли в INVO
- session не проброшен в модели
- $this->view->modelName
- ACL хранит всю инфу в сессии пользователя. А сессия
не убивается при выходе. А права доступа на старой
сессии не обрабатыватся. Приехали.
- Работа с формами
- Неполное покрытие API фреймворка документацией
66. Ещё полезности
Описание работы парсера аннотаций
https://docs.phalconphp.com/ru/latest/reference/annotations.html
Phalcon и Codeception
http://codeception.com/docs/modules/Phalcon1
Unit testing
http://codeception.com/docs/modules/Phalcon1