注意:这个问题几乎没有 jQuery、Drupal 或 node.js,它更多的是关于“框架如何实现 X,其中 X 是我提到的任何框架也提供的东西。
我看到了一个示例 node.js 代码,如下所示:
var http = require('http'); var server = http.createServer(); server.listen(8000); server.on('request', function(req, res) { // 在这里用 req 和 res 做一些事情 });
没有明显的地方 req 和 res 来自哪里。其实是什么'request'
意思?它是从哪里供应的?
我在 jQuery .get() 和 .post() 函数中注意到了类似的事情,并且查看源代码并没有像我想要的那样有帮助。我什至已经在 Drupal 中看到过这种情况;theme layer
我用特定的命名约定在or中定义了一个函数module_hook
,但是参数突然出现,并且在这些魔术变量中存在可预测的数据结构(在手册中指定)。
那么这种技术叫什么,它是如何工作的。我听说过Dependency Injection
……是这个吗?如果是,你能用 n00b 术语解释它是如何完成的吗?
这特别令人困惑,因为我从一开始就在程序中编码,我们总是知道变量来自哪里以及函数是如何被调用的......