Поведение доктрины KNP против расширений Doctrine Atlantic18

Просто интересно, что существуют две разные библиотеки, которые обрабатывают поведение/расширения Doctrine2 (loggable, timestampable и т.д.): KNPLabs DoctrineBehaviors и Atlantic18 DoctrineExtensions, который, кажется, продолжает работу Gediminas.

В чем основные отличия?

Я вижу, что Atlantic18 поддерживает несколько драйверов, а KNPLabs dont, он также имеет еще несколько функций (Sortable, IpTraceable). С другой стороны KNPLabs использует черты и поддерживается KNP.

Кроме того, любая причина ссылаться на Atlantic18 в Symfony2 doc вместо KNPLabs 's?

Ответ 1

Я использовал Atlantic18 (который я называю расширениями Gedmo, потому что это пространство имен, с которым вы работаете). Однако я не использовал исключения KNP, но, глядя на репо, я могу, возможно, указать несколько вещей, которые я заметил:

Atlantic18 У вас есть черты, если вы хотите их: например

Atlantic18 также имеет возможность использовать аннотации доктрины, которые мне нравятся

и мне кажется, что Atlantic18 немного более конфигурируется так, что вы можете указать имена столбцов, это не похоже на то, что вы можете сделать это с расширениями KNP.

С учетом того, что начало работы с Atlantic18 выглядит немного сложнее, чем начать с расширений KNP. Кроме того, когда я начал использовать расширения Atlantic18, это был странный переходный период от gedmo до Atlantic18, поэтому документация и разработка были немного устаревшими и трудно следовать, но похоже, что они были обновлены сейчас.