Cada personalização deve estar em uma pasta base custom / Extension / application / Ext / Api / V8 /. Veja mais sobre o framework Slim em https://www.slimframework.com.
Estendendo a configuração Slim em custom / application / Ext / Api / V8 / slim.php é um arquivo php nativo que deve retornar uma série de configurações slim. A configuração adicional será incorporada à configuração slim padrão.
return [ /* slim configuration here …*/ ];
Estendendo Rotas em custom / application / Ext / Api / V8 / Config / routes.php é um arquivo php nativo dado a variável $ app como um aplicativo Slim. Rotas adicionais serão adicionadas ao aplicativo slim padrão e estarão disponíveis em URL [SuiteCRM-path] / Api / V8 / custom custom / application / Ext / Api / V8 / Config / routes.php
$app->post(‘/my-route/{myParam}’, ‘MyCustomController:myCustomAction’);
Estendendo serviços em custom / application / Ext / Api / V8 / services.php é um arquivo php nativo que deve retornar uma série de serviços slim. Os serviços adicionais serão integrados aos serviços básicos padrão. custom / application / Ext / Api / V8 / services.php
return ['myCustomService' => function() {
return new MyCustomService();
}];
Estender BeanAliases em custom / application / Ext / Api / V8 / beanAliases.php é um arquivo php nativo que deve retornar uma matriz de apelidos de bean customizados. custom / application / Ext / Api / V8 / beanAliases.php
return [MyCustom::class => ‘MyCustoms’];
Estendendo Controladores em custom / application / Ext / Api / V8 / controllers.php é um arquivo php nativo que deve retornar um array de controladores customizados. custom / application / Ext / Api / V8 / controllers.php
return [MyCustomController::class => function(Container $container) { return new MyCustomController(); }];
Estendendo fábricas em custom / application / Ext / Api / V8 / factories.php é um arquivo php nativo que deve retornar uma matriz de fábricas personalizadas. custom / application / Ext / Api / V8 / factories.php
return [MyCustomFactory::class => function(Container $container) { return new MyCustomFactory(); }];
Estendendo Globais em custom / application / Ext / Api / V8 / globals.php é um arquivo php nativo que deve retornar uma matriz de globais customizados. custom / application / Ext / Api / V8 / globals.php
return [MyCustomGlobal::class => function(Container $container) { return new MyCustomFactory(); }];
Estendendo Helpers em custom / application / Ext / Api / V8 / helpers.php é um arquivo php nativo que deve retornar um array de helpers customizados. custom / application / Ext / Api / V8 / helpers.php
return [MyCustomHelper::class => function(Container $container) { return new MyCustomHelper(); }];
Estendendo Globais em custom / application / Ext / Api / V8 / globals.php é um arquivo php nativo que deve retornar uma matriz de globais customizados. custom / application / Ext / Api / V8 / globals.php
return [MyCustomGlobal::class => function(Container $container) { return new MyCustomFactory(); }];
Estendendo fábricas em custom / application / Ext / Api / V8 / factories.php é um arquivo php nativo que deve retornar uma matriz de fábricas personalizadas. custom / application / Ext / Api / V8 / factories.php
return [MyCustomFactory::class => function(Container $container) { return new MyCustomFactory(); }];
Estendendo Globais em custom / application / Ext / Api / V8 / globals.php é um arquivo php nativo que deve retornar uma matriz de globais customizados. custom / application / Ext / Api / V8 / globals.php
return [MyCustomGlobal::class => function(Container $container) { return new MyCustomFactory(); }];
Estendendo Helpers em custom / application / Ext / Api / V8 / helpers.php é um arquivo php nativo que deve retornar um array de helpers customizados. custom / application / Ext / Api / V8 / helpers.php
return [MyCustomHelper::class => function(Container $container) { return new MyCustomHelper(); }];
Estendendo Middlewares em custom / application / Ext / Api / V8 / middlewares.php é um arquivo php nativo que deve retornar um array de middlewares customizados. custom / application / Ext / Api / V8 / middlewares.php
return [MyCustomMiddleware::class => function(Container $container) { return new MyCustomMiddleware(); }];
Extending Params em custom / application / Ext / Api / V8 / params.php é um arquivo php nativo que deve retornar um array de parâmetros customizados. custom / application / Ext / Api / V8 / params.php
return [MyCustomParam::class => function(Container $container) { return new MyCustomParam(); }];
Estendendo validadores em custom / application / Ext / Api / V8 / validators.php é um arquivo php nativo que deve retornar um array de validadores customizados. custom / application / Ext / Api / V8 / validators.php
return [MyCustomValidator::class => function(Container $container) { return new MyCustomValidator(); }];
Exemplo básico de personalização de API
Crie um arquivo para a nova rota personalizada: [SuiteCRM-path] /custom/application/Ext/Api/V8/Config/routes.php com o seguinte conteúdo:
get('/hello', function() {
return 'Hello World!';
});