callmeleon167/cml-framework

一个节省时间并随着您的开发过程扩展的PHP框架。提供构建Web应用所需的一切,全部集中在一个地方,设计得完美协作。

v2.10 2024-07-29 16:40 UTC

README

该框架是一个强大的工具,它无缝地将高效的路由系统与HTML构建器结合在一起,为您提供了对Web路由和页面的众多定制选项。此外,它还提供了一种简单、安全的方式连接到数据库,使数据处理变得轻松。该框架还配备了各种内置函数,以简化编程过程。此外,全面在线文档确保您可以随时参考它以获取指导。

目录

文档

https://docs.callmeleon.de/

入门

安装

composer create-project callmeleon167/cml-framework my-app

或者

  • 克隆仓库
  • 已安装composer
  • 运行build.sh
  • 将app/config目录中的cml-config.template.php文件复制一份,然后从文件名中删除.template扩展名以获得cml-config.php文件
  • 配置您的设置,您就可以开始了!

特性

路由器

此PHP代码中的Router类提供了一个强大且灵活的路由系统,适用于Web应用。以下是主要功能和功能

1. 路由处理:该类管理定义的路由,允许您根据HTTP请求方法(GET、POST等)将URL映射到特定的回调函数。

2. 中间件支持:您可以在路由回调之前或之后添加中间件函数,增强应用程序的灵活性。

3. 错误处理:该类通过重定向到指定的URL处理404错误,并在找不到路由时提供清晰的错误消息。

4. 路由分组:您可以将相关路由分组到共同的URL前缀下,提高路由的组织和结构。

5. 路由别名:可以设置路由别名以获得更友好的URL,并可以从别名检索原始URL。

6. 安全头:该类设置重要的安全头,增强Web应用程序的安全性。这些头包括内容安全策略(CSP)、X-Content-Type-Options、X-Frame-Options、X-XSS-Protection、HTTP严格传输安全(HSTS)和引用策略。

7. 路由参数处理:该类允许您提取和清理路由参数,增强安全性和处理用户输入。

8. AJAX路由:可以将路由配置为仅通过AJAX请求访问。

9. 查询参数处理:该类提供了一个方法来过滤和从当前请求URI中检索查询参数。

10. 环境处理:它根据环境(生产或开发)初始化错误报告配置,并使用.env文件进行配置。

11. API支持:您可以将路由设置为API路由,以JSON格式返回响应。

12. 速率限制:支持基于IP地址的速率限制,以防止滥用和过多的请求。

13. 与HTMLBuilder集成:该类扩展了HTMLBuilder类,允许您使用HTML模板和构建网页。

这些功能使Router类成为构建具有灵活路由、增强安全和错误处理的Web应用的通用工具。它简化了路由、中间件和安全头的管理,同时支持各种HTTP请求方法和AJAX请求。

数据库

此PHP代码中的DB类提供了数据库交互的功能。以下是GitHub README.md中的功能描述:

1. 数据库连接:该类建立数据库连接,允许您执行SQL查询。

2. 环境变量加载:它从.env文件加载环境变量,以配置数据库。

3. 连接管理

  • 它可以切换不同的数据库连接,允许您处理多个数据库。
  • 它提供了恢复默认数据库连接的能力。

4. SQL查询执行

  • 该类允许您执行SQL查询并将结果作为数组检索。
  • 它支持参数化查询,增强安全性并防止SQL注入。

5. 从文件执行SQL查询:您可以从文件中执行SQL查询,提供一种方便的方式来管理和运行复杂的查询。

6. 生成JSON响应:该类可以执行SQL查询并将结果作为JSON编码的字符串返回,这使得它适合构建API。输入数据清理:该类包括清理输入数据的方法,以防止安全漏洞,如SQL注入。

7. HTML实体解码:您可以在字符串中解码HTML实体,这在处理HTML内容时很有用。

DB类简化了数据库交互,支持用于安全性的参数化查询,并可以管理多个数据库连接。它是处理数据库和高效、安全地执行SQL查询的有价值工具。

HTML构建器

HTMLBuilder类旨在协助构建HTML文档。以下是GitHub README.md中的功能描述:

1. 文档结构:它生成HTML文档的基本结构,包括<!DOCTYPE html><html><head><body>元素。

2. 标题和favicon

  • 您可以使用setTitle方法设置HTML文档的标题。
  • 该类包括默认的favicon图标。

3. 样式和脚本

  • 它允许您向HTML文档添加外部样式表和JavaScript文件。
  • 这些资源使用适当的HTML标签链接到文档。

4. 资产URL管理:assetUrl方法提供了一种生成资产URL的方式,考虑到基本URL。

5. 可读性注释

  • 它为HTML文档生成注释,包括居中的欢迎信息和有关项目和开发人员的信息。
  • 这些注释提供了对源代码的视觉吸引力和信息介绍。

6. 居中注释生成:center_comment方法可用于生成居中注释,这对于创建HTML源代码中的视觉吸引力的标题和部分特别有用。

7. 初始化注释:init_comment方法生成一个包含项目名称、居中ASCII艺术和有关项目开发和开发人员信息的初始化注释块。

此类对于快速创建结构良好的HTML文档很有用,包括设置标题、添加样式和脚本以及通过吸引人的注释增强可读性。它为您提供了HTML源代码的优雅且信息丰富的起点。当与Router类一起使用时,您可以轻松构建动态Web应用程序和网站。