Skip to main content

Customização

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.

Estender a configuração Slim em  custom/application/Ext/Api/V8/slim.php um arquivo php nativo deve retornar uma série de configurações Slim. A configuração adicional será mesclada na configuração slim padrão.


return [ /* slim configuration here ...*/ ];

Estender rotas em custom/application/Ext/Api/V8/Config/routes.php é um arquivo php nativo com variável $app como um aplicativo Slim. Rotas adicionais serão adicionadas ao aplicativo slim padrão e estarão disponíveis na URL [HelloCloud-path]/Api/V8/custom custom/application/Ext/Api/V8/Config/routes.php


$app->post('/my-route/{myParam}', 'MyCustomController:myCustomAction');

Estender serviços em custom/application/Ext/Api/V8/services.php um arquivo php nativo deve retornar uma variedade de serviços finos. Os serviços adicionais serão mesclados nos serviços slim 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 deve retornar uma matriz de aliases de bean personalizados. custom/application/Ext/Api/V8/beanAliases.php


return [MyCustom::class => 'MyCustoms'];

Estender controladores em custom/application/Ext/Api/V8/controllers.php um arquivo php nativo deve retornar uma matriz de controladores personalizados. custom/application/Ext/Api/V8/controllers.php


return [MyCustomController::class => function(Container $container) {
    return new MyCustomController();
}];

Estender Factories in custom/application/Ext/Api/V8/factories.php  um arquivo php nativo deve retornar uma matriz de factories personalizadas. custom/application/Ext/Api/V8/factories.php


return [MyCustomFactory::class => function(Container $container) {
    return new MyCustomFactory();
}];

Estender Globals em custom/application/Ext/Api/V8/globals.php um arquivo php nativo deve retornar uma matriz de globais personalizados. custom/application/Ext/Api/V8/globals.php


return [MyCustomGlobal::class => function(Container $container) {
    return new MyCustomFactory();
}];

Estender Helpers em custom/application/Ext/Api/V8/helpers.php um arquivo php nativo deve retornar uma matriz de helpers personalizados. custom/application/Ext/Api/V8/helpers.php


return [MyCustomHelper::class => function(Container $container) {
    return new MyCustomHelper();
}];

Estender Middlewares em custom/application/Ext/Api/V8/middlewares.php um arquivo php nativo deve retornar uma matriz de middlewares personalizados. custom/application/Ext/Api/V8/middlewares.php


return [MyCustomMiddleware::class => function(Container $container) {
    return new MyCustomMiddleware();
}];

Estender Params em custom/application/Ext/Api/V8/params.php um arquivo php nativo deve retornar uma matriz de parâmetros personalizados. custom/application/Ext/Api/V8/params.php


return [MyCustomParam::class => function(Container $container) {
    return new MyCustomParam();
}];

Estender Validadores em custom/application/Ext/Api/V8/validators.php um arquivo php nativo deve retornar uma matriz de validadores personalizados. 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 nova rota personalizada: [HelloCloud-path]/custom/application/Ext/Api/V8/Config/routes.php com o seguinte conteúdo:


<?php
$app->get('/hello', function() {
    return 'Hello World!';
});