依赖注入(Dependency Injection)是Gene框架作为现代框架的核心功能,采用注入动态、灵活的方式来管理各种对象。对象与对象之间的具体实现互 相透明。。 具体含义是:当某个角色(可能是一个Php实例,调用者)需要另一个角色(另一个php实例,被调用者)的协助时, 在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Gene里,创建被调用者的工作不再由调用者来完成, 因此;创建被调用者实例的工作通常由Gene工厂容器来完成,然后注入调用者,因此称为依赖注入。。
gene框架推荐用注入方式调用类,而不是以硬编码的方式耦合在一起。
无
返回值: 空。
//数据库类注入配置
$config->set("db", [
'class' => '\Gene\Db\Mysql',
'params' => [[
'dsn' => 'mysql:dbname=gene_demo;host=127.0.0.1;port=3306;charset=utf8',
'username' => 'root',
'password' => ''
]],
'instance' => true
]);
// models、services、Controllers 里调用db
$this->db;
// 控制反转
$config = [
'dsn' => 'mysql:dbname=gene_demo;host=127.0.0.1;port=3306;charset=utf8',
'username' => 'root',
'password' => ''
];
$this->db = Gene\Factiory::create("\Gene\Db\Mysql", $config);