junioalmeida/slim-framework-extends-request

扩展了 Slim Framework 3 的 Request 类,以便在 getParam() 方法中添加验证。

1.0.17 2017-10-09 00:44 UTC

This package is auto-updated.

Last update: 2024-09-29 04:42:56 UTC


README

这个类是为了扩展原始的 \Slim\Http\Request 类并覆盖 getParam 方法而创建的。覆盖只添加验证,然后调用原始的 getParam() 方法并传递相同的原始参数。请注意,这个函数接收 GET、POST 和发送 JSON 时来自身体的参数。

附加验证

  • 如果用户没有发送参数,且没有设置默认值,则抛出异常。
  • 如果传递了默认值,则不会更改其默认行为。

安装

1 - 将以下代码添加到依赖项中

// Configuração da nova classe Request para atribuir a validação
$container['request'] = function ($c) use ($app) {
    $Request = \JunioDeAlmeida\Slim\Request::createFromEnvironment($c['environment']);
    $Request->setApp($app);
    return $Request;
};


2 - 在文件 /public/index.php 中检查接收 \Slim\App 实例的变量名称是否为 $app

session_start();

// Instantiate the app
$settings = require __DIR__ . '/../src/settings.php';
$app = new \Slim\App($settings);

// Set up dependencies
require __DIR__ . '/../src/dependencies.php';

如果不是,请调整以下代码段:在 function ($c) use ($app) {

$container['request'] = function ($c) use ($app) {


2 - 如果认为有必要,请使用以下可能的参数配置设置文件

return [
    'settings' => [

        // ... here another settings

        // Parametros para customizar a validação de parametros obrigatórios
        'param_required' => [
            'exception_class' => '\Exception', // Classe de exception que será lancáda
            'exception_messege' => 'The "%s" parameter is required!', // Mensagem que será usada no lançamento
        ]
    ],
];