Dependency injection
. 简而言之,你应该给你的代码提供它所需要的,而不是让它得到它所需要的数据。。。下面是一个例子:
没有依赖注入的示例
function sanitize1() {
foreach($_POST as $k => $v) {
// code to sanitize $v
}
}
sanitize1();
依赖注入示例
function sanitize2(array &$formData) {
foreach($formData as $k => $v) {
// code to sanitize $v
}
}
sanitize2($_POST);
sanitize2()
您选择的关联数组;你已经注入了依赖性。鉴于
sanitize1()
加上
$_POST
.
美元邮政
$_GET
美元
或
美元邮政
但在单元测试中,您需要硬编码一些预期的数据。
function testSanitize() {
$fakeFormData = array ('bio' => 'hi i\'m arin', 'location' => 'San Francisco');
sanitize($fakeFormData);
// assert something
}