junioalmeida / slim-framework-extends-request
扩展了 Slim Framework 3 的 Request 类,以便在 getParam() 方法中添加验证。
1.0.17
2017-10-09 00:44 UTC
Requires
- php: >5.6.0
- slim/slim: ^3.0.0
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
]
],
];