初始化

This commit is contained in:
2026-01-06 12:44:28 +08:00
parent 3f71f87bfa
commit d18044dbd7
186 changed files with 29885 additions and 1 deletions

63
src/think/Service.php Normal file
View File

@@ -0,0 +1,63 @@
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2025 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------
declare(strict_types=1);
namespace think;
use Closure;
use think\event\RouteLoaded;
/**
* 系统服务基础类
* @method void register()
* @method void boot()
*/
abstract class Service
{
public function __construct(protected App $app)
{
}
/**
* 加载路由
* @access protected
* @param string $path 路由路径
*/
protected function loadRoutesFrom(string $path)
{
$this->registerRoutes(function () use ($path) {
include $path;
});
}
/**
* 注册路由
* @param Closure $closure
*/
protected function registerRoutes(Closure $closure)
{
$this->app->event->listen(RouteLoaded::class, $closure);
}
/**
* 添加指令
* @access protected
* @param array|string $commands 指令
*/
protected function commands($commands)
{
$commands = is_array($commands) ? $commands : func_get_args();
Console::starting(function (Console $console) use ($commands) {
$console->addCommands($commands);
});
}
}