这里php容器选用的是php-di, 相关网址:
https://github.com/PHP-DI/PHP-DI
https://packagist.org/packages/php-di/php-di
PHP-DI是一个实用、强大且与框架无关的依赖注入容器。
安装:
composer require php-di/php-di
代码:
include __DIR__ . '/vendor/autoload.php';
$builder = new DI\ContainerBuilder();
$builder->addDefinitions([
\Workerman\MySQL\Connection::class => DI\factory(function () {
return new \Workerman\MySQL\Connection('192.168.56.1', '3310', 'root', 'root', 'test');
}),
]);
$container = $builder->build();
上面的代码加入的worker前面:比如:我是在下面这个代码前面
$worker = new Worker("udp://0.0.0.0:1026");
这样只要在被注入的类中有类似下面这样的代码就能够把mysql连接自动注入:
use Workerman\MySQL\Connection;
class TplService
{
private $dbconn;
public function __construct(Connection $dbconn)
{
$this->dbconn = $dbconn;
我也不知道这样用有没有问题,
哪位有使用经验的请告知, 谢谢!
我在使用中遇到问题, 也会更新