Skip to content

0.4.1 这是一个奇怪的分支,对thinkorm 注册服务的另一种写法,特此记录 - #127

Open
xuey490 wants to merge 2 commits into
mainfrom
0.4.1
Open

0.4.1 这是一个奇怪的分支,对thinkorm 注册服务的另一种写法,特此记录#127
xuey490 wants to merge 2 commits into
mainfrom
0.4.1

Conversation

@xuey490

@xuey490 xuey490 commented Nov 19, 2025

Copy link
Copy Markdown
Owner

0.4.1 这是一个奇怪的分支,对thinkorm 注册服务的另一种写法,特此记录

具体代码:framework\Factory 里面

use Framework\Factory\ThinkORMFactory;
use think\DbManager;

class Home
{
    public function __construct(
        private CsrfTokenManager $csrf,private RequestStack $requestStack,
		private CookieManager $cookie, 
		private ThinkORMFactory $db,
		private DbManager $db1
		//SessionServiceProvider 已经注册的服务名是 'session', 容器会自动注入 Session 实例
    ) {}

	public function html():Response
	{
		
        #$list = Db::table('oa_admin_group')->select();//error:Undefined db config:mysql

        dump($this->db1->table('oa_admin_group')->where('id' , 1)->select()->toArray());
        

        return new Response('hello world');
        }
  }
    // ✅ 3. 启动所有 Provider(boot)
    $providerManager->bootProviders($configurator);
	
    // 工厂服务
	$services->set(ThinkORMFactory::class)
		->args([
			$databseConfig,
			service('log'),        // SQL 日志
			service('log'),        // 慢 SQL 日志
			200
		])
		->public();

	// DbManager 使用工厂创建
	$services->set(\think\DbManager::class)
		->factory([ service(ThinkORMFactory::class), 'create' ])
		->public();

	// 你框架里的统一 service id
	$services->alias('thinkorm', \think\DbManager::class);

对于thinkorm不同的服务注册状态的尝试
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant