您将自定义入口点定义放在哪里?
Where do you place your custom entry point definitions?
我在此文件中添加了所有自定义入口点:\custom\Extension\application\Ext\EntryPointRegistry\customEntryPoint.php
有没有更好的方法或地方来处理这个问题?
这是处理自定义入口点的最佳方式。
您的位置是根据 6.5 documentation 推荐的位置。当快速修复和重建完成时,custom/Extension/application/Ext/EntryPointRegistry/ 中的所有文件都被编译到文件 custom/application/Ext/EntryPointRegistry/entry_point_registry.ext.php 中。
由于您已使用 SuiteCRM 对其进行标记,因此我假设您使用的是他们的 6.5 CE 分支。但是,如果您想在 SugarCRM 的更高版本 (7.7+) 中使用您的代码,请注意他们已经注意到他们打算在不久的将来 deprecate 入口点以支持扩展 "Endpoints" 他们的休息 API (v10).
有两个最佳实践选项利用了 SugarCRM 中的扩展框架 6.x。使用哪个取决于入口点的用途。您指定的入口点是最好的通用、应用程序范围的入口点。
文件位置:custom/Extension/application/Ext/EntryPointRegistry/customEntryPoint.php
提供入口点 URL,如 index.php?entryPoint=customEntryPoint
相反,如果您发现入口点可以更专注于单个 Sugar 模块,则可以使其特定于模块。一个示例用例可能是创建一个 webhook 类型的功能,以允许第三方支付服务直接与自定义发票模块交互。这里的优势是组织;自定义代码放置尽可能具体和精细。
- 文件位置:
custom/Extension/modules/abc_InvoiceModule/Ext/EntryPointRegistry/third_party_webhook.php
- 提供一个入口点 URL 比如
index.php?module=abc_InvoiceModule&entryPoint=third_party_webhook
我在此文件中添加了所有自定义入口点:\custom\Extension\application\Ext\EntryPointRegistry\customEntryPoint.php
有没有更好的方法或地方来处理这个问题?
这是处理自定义入口点的最佳方式。
您的位置是根据 6.5 documentation 推荐的位置。当快速修复和重建完成时,custom/Extension/application/Ext/EntryPointRegistry/ 中的所有文件都被编译到文件 custom/application/Ext/EntryPointRegistry/entry_point_registry.ext.php 中。
由于您已使用 SuiteCRM 对其进行标记,因此我假设您使用的是他们的 6.5 CE 分支。但是,如果您想在 SugarCRM 的更高版本 (7.7+) 中使用您的代码,请注意他们已经注意到他们打算在不久的将来 deprecate 入口点以支持扩展 "Endpoints" 他们的休息 API (v10).
有两个最佳实践选项利用了 SugarCRM 中的扩展框架 6.x。使用哪个取决于入口点的用途。您指定的入口点是最好的通用、应用程序范围的入口点。
文件位置:
custom/Extension/application/Ext/EntryPointRegistry/customEntryPoint.php
提供入口点 URL,如
index.php?entryPoint=customEntryPoint
相反,如果您发现入口点可以更专注于单个 Sugar 模块,则可以使其特定于模块。一个示例用例可能是创建一个 webhook 类型的功能,以允许第三方支付服务直接与自定义发票模块交互。这里的优势是组织;自定义代码放置尽可能具体和精细。
- 文件位置:
custom/Extension/modules/abc_InvoiceModule/Ext/EntryPointRegistry/third_party_webhook.php
- 提供一个入口点 URL 比如
index.php?module=abc_InvoiceModule&entryPoint=third_party_webhook