Re: Use "caller" keyword, to access object caller.
| From: | Tony Marston | Date: | Sun, 01 Feb 2015 10:10:11 +0000 |
| Subject: | Re: Use "caller" keyword, to access object caller. | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-81527@lists.php.net to get a copy of this message | ||
""S.A.N"" wrote in message news:CALW=WEDFmUXap7Bx=chHx5VYHcOi1kBahgDkJiF2aDLx6YT6Jg@mail.gmail.com...
2015-02-01 1:52 GMT+02:00 Stanislav Malyshev <smalyshev@gmail.com>:And how is this different from Dependency Injection which is supposed to be a common and accepted technique? -- Tony MarstonHi!This is a controversial statement. If the caller explicitly send the object as an argument, it worsens loose depending API.The reason for creating circular references, usually due to the need to bind objects. But this relationship can often be obtained from the context of the call.If the API behaves differently depending on who is calling it, or requires some information from the caller, it should be passed explicitly - as a parameter/method call/etc. - not hidden. Otherwise it would lead to nasty surprises when the user of the API assumes caller does not matter but the implementor assumes it does. -- Stas Malyshev smalyshev@gmail.com