Доброго времени суток ) Решил таки опубликовать модуль для подключения доктрины к битриксу - ссылка на гитхаб, инструкция по установке и использованию там же.
Пара слов зачем это нужно и кому может пригодиться. Я с этим модулем делал два крупных проекта, сейчас делаю сайт турфирмы - в базе на текущий момент уже 12 таблиц со сложными связями, которые невозможно реализовать на инфоблоках, а orm битрикса сильно проигрывает по удобству и функционалу doctrine orm.
Да логично. После модуля, почти полноценно написанном на новом ядре, больше всего разочаровался в том, что сущности со своими getlist, add и update в итоге возвращают массив, а вроде как планировали всё сделать объектно-ориентированным. Правда недавно узнал, что это в планах стоит, посмотрим.
+ в доктрине в том, что автоматически изменяется БД под класс сущности, очень удобно, почему-то в битриксе наоборот, сперва таблица - потом класс под неё. Помимо сторонних решений, стандарты PSR тоже можно было бы общие взять, а то опять велосипед.
Цупко Игорь, открытый проект всегда можно форкнуть и вести дальше самостоятельно, если вдруг не устроит политика основной ветки. Да и ладно - свои велосипеды не так плохо, если бы они были на уровне.. Но к сожалению качество сильно хуже, вспомнить ту же JS-библиотеку по сравнению с jquery =( Не копал в эту сторону, но думаю дело все же в лицензиях - не всегда можно использовать открытый проект в коммерческих продуктах.
Цупко Игорь, Какие баги?) в битриксе больше багов, а если есть проблемы то использовать менеджер зависимостей стабильные релизы))) все сообщества используют репозитории - где над одной штукой очень кропотливо трудятся, а разрабы форкают только стабильную версию библиотеки....в битриксе одно обновление может стоить проблемы и это меня если честно конкретно бесит. Бесит, что битрикс на отрез отказывается использовать и поддерживать то, чем другие пользуются вот уже лет 5-10 - вместо этого они пишут свои протоколы, свои орм, свои модули поиска и т.д... Зачем??? И пробитый битриксойд, который кроме битрикса ничего не видел обычно похож на религиозного фанатика
Мы у себя тоже интегрировали доктрину. Точнее интеграция там только в админке - CAdminList + CAdminForm. До сложных связей ещё не добрались. Используем пока для хранения всяких справочников.
Рахимбердин Эльдар, Да, с таким функционалом времени придется убить порядочно. Кстати как мысль - задание полей для отображение в битриксе можно делать через те же аннотации, если вы их используете, похожий функционал используется например в APYDataGridBundle для симфонии.
Зацепин Евгений, У нас для этого полностью отдельный конфиг, в котором можно указать какие сущности отображать, где и как.
Мы специально вынесли это отдельно. Более того, аналогичный инструмент у нас для Doctrine ODM, и гораздо проще производить настройку в одном конфиге для разных проектов, чем искать в классах с аннотациями.
Цупко Игорь, возможно со временем реализую подобный вариант и выложу. Вот только "со временем" - это скорее месяцы, времени свободного не так много ) Присоединяйтесь к разработке на github =)
Мокрушин Алексей, ну elastic "прикрутил", но ещё не доделал, пока бросил это занятие, там надо создавать свой компонент умного фильтра полностью писать. У меня же пока только сохранение элемента в elastic со всеми свойствами при изменении и добавлении, а так же получение списка элементов и их группировки по различным параметрам.
Мокрушин Алексей, сперва бы доделать там на самом деле очень много надо сделать, а времени нет. Хотя бы доделать апи для связки elasticsearch и битрикса (добавление в индекс и получение из индекса). После этого уже можно говорить о каких-то компонентах и модулях. И то, это всё очень специфично. А в битриксе сейчас появились фасеты, поэтому уже часть задачи отпало. Хотя с elasticsearch можно забабахать офигенный поиск с ранжированием и фильтрацией.
Гаврилов Евгений, там отличный дашбоард на Кибане можно замутить. И это же практически рилтайм отображение характеристик. Ко всему прочему ту же Кибану можно и под отображение разных моментов приспособить
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».