lopatar / php-sdkv2
我的实验性 PHP SDK 的第二代!
v2.7.6
2023-11-02 16:49 UTC
Requires
- php: >=8.2
- ext-curl: *
- ext-mbstring: *
- ext-mysqli: *
- ext-openssl: *
Requires (Dev)
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
- 控制器(您的控制器文件所在的位置)
- 视图(您的视图文件所在的位置)
- 模型(您的模型文件所在的位置)
- 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;
}
推荐插件
- deep-assoc-completion 用于更好的 PhpDoc 注释
配置类
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 哈希的密码
- 数据库连接器
- MySQL/MariaDB 连接器,通过 Config 系统配置
- Utilities 命名空间
- 结构 命名空间
- Config 对象
- 用于配置数据库连接器、会话、CSRF 中间件、默认密码哈希提供者
- Cookie 加密切换
- 服务器头欺骗 功能,可用于隐藏您的 Web 服务器软件
- 密码哈希提供者默认选项