# Kiri 核心框架文档 ## 项目介绍 Kiri 是一个基于 PHP 的高性能核心框架,旨在为开发者提供简洁、高效的开发体验。该框架内置了多种实用工具类、异常处理机制、配置管理、容器依赖注入等功能,适用于构建各种类型的应用程序。 ### 主要特性 - **依赖注入容器**:通过 `Kiri\Di\Container` 提供强大的依赖管理功能。 - **配置管理**:支持从文件和环境变量中读取配置。 - **异常处理**:提供统一的异常处理接口,支持注册自定义异常处理器。 - **日志记录**:内置 `StdoutLogger` 支持多种日志级别输出。 - **实用工具类**: - `Str`:字符串操作,如加密、随机字符串生成等。 - `Json`:JSON 编码/解码及响应构造。 - `Help`:提供 XML 转换、随机数生成、邮件发送等辅助功能。 - `DateFormat`:日期和时间格式化工具。 - **网络功能**:支持本地 IP 获取、Socket 编程。 - **NoSQL 支持**:提供 Redis 和 MongoDB 的客户端封装,支持连接池管理。 ## 安装 ### 系统要求 - PHP 7.4 或更高版本 - Composer(用于依赖管理) ### 安装步骤 1. 确保已安装 Composer。 2. 执行以下命令安装依赖: ```bash composer install ``` ## 使用说明 ### 初始化框架 ```php use Kiri\Kiri; use Kiri\Application; // 初始化容器 Kiri::setContainer(new Container()); // 创建应用实例 $app = new Application( new EventProvider(), new ConfigProvider(), Kiri::getContainer() ); // 初始化应用 $app->init(); ``` ### 配置管理 配置文件可通过 `ConfigProvider` 类进行加载和访问: ```php $config = new ConfigProvider(); $databaseHost = $config->get('database.host'); ``` ### 依赖注入 使用容器进行依赖注入: ```php $service = Kiri::getContainer()->get(MyService::class); ``` ### 日志记录 使用内置日志记录器输出信息: ```php Kiri::getLogger()->info('This is an info message.'); ``` ### 异常处理 注册自定义异常处理器: ```php $errorHandler = new ErrorHandler(); $errorHandler->registerExceptionHandler(function (Throwable $e) { echo "Unhandled exception: " . $e->getMessage(); }); ``` ### 数据库连接 #### Redis ```php $redis = new Redis(); $redis->connect(); $redis->set('key', 'value'); echo $redis->get('key'); ``` #### MongoDB ```php $mongo = new MongoDB(); $collection = $mongo->getCollection('users'); $result = $collection->find([]); ``` ### 工具类使用示例 #### 字符串处理 ```php echo Str::rand(10); // 生成随机字符串 ``` #### JSON 响应 ```php echo Json::jsonSuccess(['data' => 'example'], 'Operation successful'); ``` #### 日期格式化 ```php echo DateFormat::DaySecond(); // 获取一天的秒数 ``` ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork 项目仓库。 2. 创建新分支 (`git checkout -b feature/new-feature`) 3. 提交更改 (`git commit -am 'Add new feature'`) 4. 推送分支 (`git push origin feature/new-feature`) 5. 创建 Pull Request ## 许可证 该项目采用 MIT 许可证。详细信息请参阅 [LICENSE](LICENSE) 文件。 ## 联系方式 如有问题或建议,请提交 Issue 或联系项目维护者。 --- 感谢您选择 Kiri 核心框架!我们期待您的反馈与贡献。