Dependency injection 如何使用依赖项注入容器将Yii composer插件连接到Yii数据库?
呼叫所有的易和作曲家大师!我需要你的帮助:) 我是Yii新手,我正在为一个YI2项目创建一个composer插件,它需要依赖项注入容器来实现这一点。总结一下,我的插件所做的是,一旦通过composer将插件添加到项目中,我想创建一个数据库表 我已经创建了一个composer插件,它还没有做任何事情,可以成功地添加到项目的依赖项中。它具有安装composer插件所需的基本文件(如composer.json和Plugin.php)。当我添加一些代码时,我遇到了几个问题 我的一个问题是我不能上Yii的课。尝试使用“Yii::$app”时出现此错误: PHP致命错误:在中找不到类“Yii” 所以我猜“使用Yii'不起作用(?) 另一个问题是,当我应用Yii2中所需的代码片段时,我得到以下结果: PHP致命错误:未捕获的TypeError:参数1传递给 实验\插件::\构造()必须是的实例 yii\db\Connection,未提供任何 我做错了还是错过了什么?我想知道如何解决这个问题,以及使用Yii-composer插件的正确方法。如何将composer插件连接到Yii数据库(任何类型的数据库) 以下代码可能会有所帮助: composer.jsonDependency injection 如何使用依赖项注入容器将Yii composer插件连接到Yii数据库?,dependency-injection,yii2,composer-plugin,Dependency Injection,Yii2,Composer Plugin,呼叫所有的易和作曲家大师!我需要你的帮助:) 我是Yii新手,我正在为一个YI2项目创建一个composer插件,它需要依赖项注入容器来实现这一点。总结一下,我的插件所做的是,一旦通过composer将插件添加到项目中,我想创建一个数据库表 我已经创建了一个composer插件,它还没有做任何事情,可以成功地添加到项目的依赖项中。它具有安装composer插件所需的基本文件(如composer.json和Plugin.php)。当我添加一些代码时,我遇到了几个问题 我的一个问题是我不能上Yii的
{
"name": "rencamp/experiment-component",
"description": "This is a test package.",
"type": "composer-plugin",
"require": {
"yiisoft/yii2": "^2.0",
"composer-plugin-api": "^1.0"
},
"autoload": {
"psr-4": {
"Experiment\\": "src"
}
},
"extra": {
"class": "Experiment\\Plugin"
},
"minimum-stability": "dev"
}
Plugin.php(这在“src”文件夹中)
<?php
namespace Experiment;
use Composer\Composer;
use Composer\IO\IOInterface;
use Composer\Package\Link;
use Composer\Plugin\PluginInterface;
use Yii;
use yii\base\Component;
use yii\base\Object;
use yii\db\Connection;
class Plugin extends Object implements PluginInterface
{
public function __construct(Connection $db, $config = [])
{
$this->db = $db;
parent::__construct($config);
}
/**
* @param Composer $composer
* @param IOInterface $io
*/
public function activate(Composer $composer, IOInterface $io)
{
print_r("\n\rActivated.\n\r");
}
private function createTable()
{
print_r("create table here...\n\r");
}
}