open-smf / connection-pool

A common connection pool based on Swoole is usually used as a database connection pool.
MIT License
222 stars 34 forks source link

如何在其他class 使用這個靜態的db pool 或是實現依賴注入的方式 #15

Open POABOB opened 2 years ago

POABOB commented 2 years ago

你好 我目前有在使用slim4配上swoole 當作我的開發工具 近期想要implement db pool的部分 非常喜歡你寫的方式 想請問你 有沒有什麼方法將pool 的instance 靜態化 來去讓其他class 使用

因為原本slim4的db是屬於依賴注入的方式 但身為小白的我卻不知道該如何下手

hhxsv5 commented 2 years ago

https://www.slimframework.com/docs/v4/concepts/di.html

use Smf\ConnectionPool\ConnectionPool;
$container->set('myPool', function () { // 设置为单例模式
    return new ConnectionPool(...); // 一个进程,只会初始化一次
});

$myPool = $container->get('myPool');
go(function() use ($myPool){
    $myPool->init();
});