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!';
});