Я добавляю все свои пользовательские точки входа в этот файл: \custom\Extension\application\Ext\EntryPointRegistry\customEntryPoint.php
Есть ли лучший способ или место, чтобы справиться с этим?
Я добавляю все свои пользовательские точки входа в этот файл: \custom\Extension\application\Ext\EntryPointRegistry\customEntryPoint.php
Есть ли лучший способ или место, чтобы справиться с этим?
Ваше местоположение рекомендовано согласно документации 6.5. Все файлы в custom/Extension/application/Ext/EntryPointRegistry/ компилируются в файл custom/application/Ext/EntryPointRegistry/entry_point_registry.ext.php при выполнении быстрого восстановления и перестройки.
Поскольку вы пометили это с помощью SuiteCRM, я предполагаю, что вы используете их ответвление 6.5 CE. Однако, если вы хотите использовать свой код с более поздними версиями (7.7+) SugarCRM, обратите внимание, что они отметили свое намерение отказаться от поддержки точек входа в ближайшем будущем в пользу расширения "конечных точек" для их REST API (v10).
Это лучший способ справиться с вашими пользовательскими точками входа.
В SugarCRM 6.x есть два наиболее эффективных варианта использования инфраструктуры расширений. Что использовать, зависит от использования точки входа. Указанная вами точка входа является лучшей универсальной точкой входа для всего приложения.
Расположение файла: custom/Extension/application/Ext/EntryPointRegistry/customEntryPoint.php
Предоставляет URL-адрес точки входа, например index.php?entryPoint=customEntryPoint
Если вместо этого вы обнаружите, что точка входа может быть более ориентирована на один модуль Sugar, вы можете сделать ее специфичной для модуля. Примером использования может быть создание функции типа веб-перехватчика, позволяющей сторонней платежной службе напрямую взаимодействовать с настраиваемым модулем счета-фактуры. Преимущество здесь в организации; Размещение пользовательского кода максимально специфично и детализировано.
custom/Extension/modules/abc_InvoiceModule/Ext/EntryPointRegistry/third_party_webhook.php
index.php?module=abc_InvoiceModule&entryPoint=third_party_webhook