iPHP 结构说明

1. 项目结构

  • 根目录:包含主要的框架文件,如 Application.phpbootstrap.phpiPHP.php 等。
  • core 目录:包含核心功能模块,如缓存、数据库、文件处理、安全、会话管理等。
  • library 目录:包含第三方库,如 Memcached、Redis、phpQuery 等。
  • vendor 目录:包含一些外部依赖库,如 CleanHtml、Hashids、PclZip 等。
  • captcha 目录:包含验证码相关的图片和字体文件。
  • database 目录:包含数据库相关的类和连接器。
  • pinyin 目录:包含拼音转换相关的数据文件。
  • template 目录:包含模板引擎相关的编译和插件文件。

2. 主要功能模块

  • Application.php:应用类,负责应用的初始化和运行。
  • bootstrap.php:引导文件,负责加载框架的核心文件和初始化。
  • core/Adapter.php:多终端适配类,用于处理不同设备的请求。
  • core/Cache.php:缓存类,支持多种缓存引擎(如 Memcached、Redis、文件缓存)。
  • core/Captcha.php:验证码生成类,支持多种验证码生成方式。
  • core/Cookie.php:Cookie 管理类,用于处理 Cookie 的读写。
  • core/Crypt.php:加密解密类,支持 AES 加密算法。
  • core/DB.php:数据库类,基于 Eloquent ORM,支持 MySQL、SQLite 等数据库。
  • core/Etc.php:配置文件管理类,用于读取和管理 JSON 格式的配置文件。
  • core/File.php:文件处理类,提供文件读写、删除等功能。
  • core/Helper.php:助手类,提供一些常用的工具方法。
  • core/Request.php:请求处理类,用于处理 HTTP 请求。
  • core/Security.php:安全类,提供 XSS、CSRF 等安全防护功能。
  • core/Session.php:会话管理类,用于处理用户会话。
  • core/TemplateLite.php:模板引擎类,用于渲染视图。
  • core/Utils.php:工具类,提供一些常用的工具方法。

3. 第三方库

  • MemcachedClient.class.php:Memcached 客户端类,用于与 Memcached 服务器交互。
  • RedisClient.class.php:Redis 客户端类,用于与 Redis 服务器交互。
  • phpQuery.class.php:phpQuery 库,用于处理 HTML 文档。

4. 外部依赖

  • CleanHtml.php:用于清理 HTML 内容。
  • Hashids.php:用于生成短 ID。
  • PclZip.php:用于处理 ZIP 压缩文件。
  • SendMail.php:用于发送邮件。
  • Token.php:用于生成和验证 Token。

5. 模板引擎

  • template/internal:包含模板引擎的内部编译文件。
  • template/plugins:包含模板引擎的插件,如块处理、函数处理、修饰符等。

6. 其他功能

  • pinyin:拼音转换功能,支持将汉字转换为拼音。
  • captcha:验证码生成功能,支持多种验证码样式。

7. 框架特点

  • 模块化设计:各个功能模块独立,易于扩展和维护。
  • 多终端适配:支持不同设备的请求处理。
  • 多种缓存支持:支持 Memcached、Redis、文件缓存等多种缓存引擎。
  • 安全性:提供了 XSS、CSRF 等安全防护功能。
  • 模板引擎:支持模板编译和插件扩展,易于视图渲染。

8. 总结

这个项目是一个基于 PHP 的轻量级框架,具有模块化设计、多终端适配、多种缓存支持、安全性强等特点。它适合用于快速开发中小型 Web 应用,并且易于扩展和维护。