HipHop: компилим бинарник через трансформацию исходников (экономия ресурсов, почти мгновенные результаты)
HHVM: свой интепретатор PHP, более производительный. Но это, скорее всего, переходная платформа, т.к. она поддерживает Hack. Обратная совместимость будет развиваться силами комьюнити, ФБ будет дальше развивать Hack.
Hack: уже интереснее, т.к. он, впринципе, может компилироваться в JVM байт-код — строгая типизация и возвращаемые типы же. Ну и есть свой интерпретатор, опробованный на продакшн серверах.
Вообще ожидайте процесс перетаскивания фич Hack в PHP =)
По моим наблюдениям, разработчики, как правило, понимают ООП как наследование и в лучшем случае добавить интерфейсов. Причём, если нет наследования (IoC, composition) то многих это ставит в ступор.
По поводу практик: вот шикарная книга (Patterns of Enterprise Application Architecture) — можно выбрать те паттерны, которые вам подходят больше всего.
Платформа не даёт таких инструментов, плагин может только экспортировать инспекции и аста-лависта. Второй момент — я немного параноик на тему сбора статистики плагинами от стороннего вендора.
Если строка заключена в одинарные кавычки, то PHP не будет даже искать переменные (и спец. символы тоже) внутри — это главный нюанс. Теоретически объявление такой строки быстрее.
Я правда не помню, что происходит внутри APC, там разница будет минимальна.
HipHop: компилим бинарник через трансформацию исходников (экономия ресурсов, почти мгновенные результаты)
HHVM: свой интепретатор PHP, более производительный. Но это, скорее всего, переходная платформа, т.к. она поддерживает Hack. Обратная совместимость будет развиваться силами комьюнити, ФБ будет дальше развивать Hack.
Hack: уже интереснее, т.к. он, впринципе, может компилироваться в JVM байт-код — строгая типизация и возвращаемые типы же. Ну и есть свой интерпретатор, опробованный на продакшн серверах.
Вообще ожидайте процесс перетаскивания фич Hack в PHP =)
Это вполне сочитается с оптимизацией кода, с оговоркой что лучше это делать на этапе ревью кода.
По моим наблюдениям, разработчики, как правило, понимают ООП как наследование и в лучшем случае добавить интерфейсов. Причём, если нет наследования (IoC, composition) то многих это ставит в ступор.
По поводу практик: вот шикарная книга (Patterns of Enterprise Application Architecture) — можно выбрать те паттерны, которые вам подходят больше всего.
Мы просто решили: вот плагин, смотрите на что жалуется, чините и обучайтесь. Код должен быть «зелёным».
Если есть жалобы от анализатора, сразу отправляем на доработку. НО легаси код вычищают архитекторы, попутно оставляя todo и deprecated.
На гит переезжаем по-проектно и с ним гораздо комфортнее организовывать хуки — в целом у нас похожий подход.
Хочу сравнить с нашим опытом (мы пока всё используем, но была пара предложений от коллег).
Доводы по поводу кавычек были конструктивны, хочу продолжить дискуссию в более интересном русле.
Если строка заключена в одинарные кавычки, то PHP не будет даже искать переменные (и спец. символы тоже) внутри — это главный нюанс. Теоретически объявление такой строки быстрее.
Я правда не помню, что происходит внутри APC, там разница будет минимальна.