依赖注入(IOC)

依赖注入(IOC)

  • 介绍

    依赖注入(Dependency Injection)是Gene框架作为现代框架的核心功能,采用注入动态、灵活的方式来管理各种对象。对象与对象之间的具体实现互 相透明。。 具体含义是:当某个角色(可能是一个Php实例,调用者)需要另一个角色(另一个php实例,被调用者)的协助时, 在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Gene里,创建被调用者的工作不再由调用者来完成, 因此;创建被调用者实例的工作通常由Gene工厂容器来完成,然后注入调用者,因此称为依赖注入。。

  • demo

    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);