lopatar/php-sdkv2

我的实验性 PHP SDK 的第二代!

v2.7.6 2023-11-02 16:49 UTC

README

强大的 PHP 框架,使用 PHP 8.2 编写,是相当原始的 PHP SDK(现在已存档)的现代版本。

要求

  • PHP 8.2
  • Composer
  • Web 服务器(将所有请求路由到 public/index.php)

安装

安装 SDK 有两种方式。

骨架项目

要使用 骨架项目,请运行以下 composer 命令。

composer create-project lopatar/php-sdkv2-skeleton <PROJECT-NAME>

手动安装

composer require "lopatar/php-sdkv2"
  • 在 "vendor" 文件夹所在的文件夹中创建以下目录结构

    • App
      • 控制器(您的控制器文件所在的位置)
      • 视图(您的视图文件所在的位置)
      • 模型(您的模型文件所在的位置)
  • 在 composer.json 中按如下方式映射 App 命名空间

{
  "autoload": {
    "psr-4": {
      "App\\": "App/"
    }
  }
}
  • 创建您的配置类

  • 完成!

将请求路由到 index.php

  • NGINX
    root /path/to/public;
    index index.php;

    location / {
        try_files $uri /index.php$is_args$args =404;
    }

推荐插件

配置类

App 对象期望通过构造函数传入一个 IConfig 实例,请创建您的类,例如

<?php
final class Config implements \Sdk\IConfig
{

}

功能

  • Request 对象
    • URL 管理
    • Cookie 管理
      • Cookie 可以使用 AES-256-CBC 自动加密和解密
    • 头部、GET、POST、SERVER 变量管理
  • Response 对象
    • View 系统(将 PHP 变量注入到 HTML 代码中)
    • 状态码、主体(写入、刷新)管理
  • 路由
    • 匿名回调 / ControllerName::methodName
    • URL 参数(类型验证、最小 & 最大值(字符串的长度)、转义)
  • 中间件(可用于特定 路由App 对象)
    • IMiddleware 接口(用于定义您自己的中间件)
    • Session 中间件,用于跨请求存储数据
    • CSRF 中间件,用于防止 CSRF 攻击
    • HttpBasicAuth 中间件,用于基本 HTTP 身份验证,比较使用 password_hash 哈希的密码
  • 数据库连接器
  • Utilities 命名空间
    • Encryption 命名空间
    • 哈希 命名空间
    • Random 类,用于生成随机 加密安全 & 非加密值
    • Math 类,包含 PHP 中未包含的简单数学工具
    • Boolean 类,包含用于操作布尔值的简单方法
    • Strings 类,包含用于操作字符串、检测编码等简单方法
  • 结构 命名空间
    • Stack 固定大小栈实现,允许混合数据类型值
    • Queue 固定大小队列实现,允许混合数据类型值
  • Config 对象