olegchir
@olegchir
performance engineer

PHP is new Java?

Как говорил Олег, жить по-человечески — это работать два часа в неделю, иметь квартиру с видом на залив, и знать теорию категорий. Вот и мне понадобилась парочка важных вещей.


Товарищи, перешел недавно с Жавы на Похапэ, похоже, здесь можно сделать всё как в Жаве, и графику, и управление.


Великолепные аналитики, прошу вашего мнения на следующие вопросы:


1) Не гуглится ни одна реализация generics/templates. Даже type-erasure в стиле жавы, которые можно сделать кодогенерацией. В PHP есть какое-то готовое решение? Если нет, хочу какую-нибудь реализацию или костыли на замену!


2) Нагуглилось несколько реализаций аннотаций. Например (пример использования), еще например. Какую использовать? Причем, на вики есть вот такое RFC с патчем на код пыха, кто знает когда его реально примут в апстрим? (кстати, как оказалось, патч писали товарищи из Doctrine Annotations).


3) Хотелось бы услышать ваше безумно авторитетное мнение насчет библиотек Dependency Injection и автолоадеров пакетов (use com.sun.awt.*). Особенно таких, которые будут жить отдельно от какого-то монструозного веб-фреймворка. Вон из Symfony 2 вроде можно наскрести его DI, он лежит отдельным модулем на гитхабе. От их же Композера мы уже открутили автолоадер. А что там с FLOW3? Есть _хорошие_ движки, которые специально заточены быть отдельными? И юзающие всякие полезняшки типа APC, FPM, может какие-нибудь кэши, короче чтобы это работало быстро, и можно было юзать в ситуациях, когда инжектятся тыщачи вещей и инклудятся мильярды пакетов.


4) Что насчет maven-like «систем для управления проектами»? Ну или хотя бы сборщиков с зависимостями. Вот есть Composer, но он какой-то убогий после мавена. Есть еще что-нибудь?


5) Посоветуйте хороший объектный кэш в shared RAM. Не сериализацию в мемкашу и редис, не размазывание по жесткому, а именно гарантированно в раму. General purpose, с быстрым доступом из любого пыхоскрипта в общем случае. Хорошо было бы умение вытягивать в раму ветви нескалярных объектов.
  • Вопрос задан
  • 3780 просмотров
Решения вопроса 1
p4s8x
@p4s8x
5) Посоветуйте хороший объектный кэш в shared RAM. Не сериализацию в мемкашу и редис, не размазывание по жесткому, а именно гарантированно в раму. General purpose, с быстрым доступом из любого пыхоскрипта в общем случае. Хорошо было бы умение вытягивать в раму ветви нескалярных объектов.

Несовсем, но почти то, что вам нужно: можно использовать связку APC и igbinary,
Делается настройка apc.serializer=igbinary
В итоге APC хранит в RAM, а igbinary — сериалайзер без лишних преобразований.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
dshvechikov
@dshvechikov
может немного не по сути вопроса, но чем обусловлен переход с java на php? Раньше такого не встречал
Ответ написан
NeX
@NeX
Хотелось бы услышать ваше безумно авторитетное мнение насчет библиотек Dependency Injection и автолоадеров пакетов (use com.sun.awt.*). Особенно таких, которые будут жить отдельно от какого-то монструозного веб-фреймворка.


У php есть стандарт именования классов github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md Если сладовать ему, потребуется всего 1 любой автолоадер. Например, framework.zend.com/manual/2.0/en/modules/zend.loader.autoloader-factory.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы