我试图在验证成功之前修改用户提交的输入.我遵循了这个简单的说明,但是当我在Laravel 5.1上进行测试时,它无法正常工作.难道我做错了什么?
这是我的Request课程 SSHAM\Http\Requests\UserCreateRequest.php
<?php
namespace SSHAM\Http\Requests;
use SSHAM\Http\Requests\Request;
class UserCreateRequest extends Request
{
// Some stuff not related with this problem
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
// Only for debug
$prova = $this->all();
echo "<pre>Inside Request - Before sanitize\n[" . $prova['public_key'] . "]</pre>\n";
// Call a function to sanitize user input
$this->sanitize();
// Only for debug
$prova = $this->all();
echo "<pre>Inside …Run Code Online (Sandbox Code Playgroud) 我一直在搜索和阅读很多关于如何在 PHP 环境中获取应用程序配置变量的最佳方式(代码方面)。在那之后,我总结了两种更常用的管理配置文件和变量的方法。
但我对此有点困惑,方法 1使用的是静态类。另一种方法 2是使用可实例化的类。
第一个比第二个更糟糕的单元测试。它类似于全局变量。不是吗?
第二个需要一个全局变量才能使用实例化对象。
我会试着解释自己。
事实: - 应用程序的设置保存在 INI 文件中。- 这个 INI 文件有部分,以维护配置变量。- 我只有一个 INI 文件。- 类做一些配置文件的验证。- 下面的代码示例不完整,它只是一个示例来说明我的问题。
此方法使用Config 静态类,它使用静态因为在所有应用程序中只会使用一个Config对象。
代码示例:
class Config
{
static private $data;
static public function load($configFile) {
self::$data = parse_ini_file($configFile, true, INI_SCANNER_RAW)
}
static public get($key) {
// code stuff to deal with sections and keys, but basically
return self::$data[$key];
}
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我使用以下代码创建了一次静态对象:
\Config::load('/where/is/my/ini/file.ini');
Run Code Online (Sandbox Code Playgroud)
在这种情况下,每次我想获得一个值时,我都会使用:
$host = \Config::get('database.host'); …Run Code Online (Sandbox Code Playgroud)