我找到了解决每个方法调用实例的解决方案。 这样的事情:
<?php
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$age = $_POST['age'];
$email = $_POST['email'];
$emailb = $_POST['emailb'];
if (){ //I had a lot of tests here, removed them for the sake of a nice page
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$age = $_POST['age'];
$email = $_POST['email'];
$emailb = $_POST['emailb'];
$UserInfo = <<<EOT
[NAME] = $fname, $lname
[AGE] = $age
[EMAIL] = $email
EOT;
file_put_contents("UserInfo.txt", $UserInfo, FILE_APPEND);
} else {
echo "Something went wrong";
} ?>
我希望每个服务调用创建一次logger实例,它将在整个存储库中使用。 我尝试使用Ninject.Extensions.NamedScope扩展但它还没有工作。 你有办法处理这种情况吗?
答案 0 :(得分:0)
通过使用作用域机制来实现这一点 。 (InCallScope()
,InNamedScope(...)
,...)。
范围仅在ninject调用类型的构造函数时才相关。
Ninject不能 - 永远 - 替换已经传递给对象的实例。
如果你想这样做,你必须自己编程。
以下是两种设计方案,您可以如何实现目标:
对于代理,您可以使用Castle DynamicProxy或LinFu等工具。还有Ninject.Extensions.Interception也可能有用。