vulcanphp / hyper-core
Hyper MVT 框架的核心类
v1.0.0
2024-08-09 09:42 UTC
README
Hyper MVT 框架的核心类和功能
简介
HyperCore 是 Hyper MVT 框架的骨干,提供核心类、实用函数和辅助方法,以简化 Web 开发。本文件详细说明了 HyperCore 中所有可用的类和函数。
核心类
Application
- 类:
application - 描述: 应用程序容器,用于管理应用程序的整体生命周期。
Database
- 类:
database - 描述: 用于管理数据库连接和操作的 PDO 数据库容器。
- 示例
use hyper\database; $database = new database([ 'driver' => 'sqlite', // mysql 'file' => __DIR__ . '/../sqlite.db', // required when driver is sqlite 'host' => 'localhost', 'user' => '{user}', 'password' => '{password}', 'port' => 3306, 'name' => 'dbname', 'charset' => 'utf8mb4' ]); var_dump($database->prepare('SELECT * FROM students'));
Debugger
- 类:
debugger - 描述: 错误跟踪器和日志查看器,用于调试和记录应用程序错误。
Request
- 类:
request - 描述: 用于处理和处理的 HTTP 请求类。
Response
- 类:
response - 描述: 用于管理传出响应的 HTTP 响应类。
Middleware
- 类:
middleware - 描述: 用于处理 HTTP 请求路由的中间件类。
- 示例
use hyper\middleware; $middleware = new middleware(); $middleware->add(callback); $middleware->handle(request: $request);
Router
- 类:
router - 描述: 用于定义和处理应用程序路由的路由器类。
- 示例
use hyper\router; $router = new router(middleware: $middleware); $router->add('/', fn() => 'Hello World'); $response = $router->dispatch(); $response->send();
Model
- 类:
model - 描述: 用于处理与 ORM 和表单处理的数据库交互的模型类。
- 示例
use hyper\model; class student extends model { protected string $table = 'students'; public string $name; public int $age; public string $department; } dump(student::get()->result());
Query
- 类:
query - 描述: PHP PDO 查询构建器和执行器。
- 示例
use hyper\query; $query = new query(database: $database, table: 'students'); dump($query->result());
Session
- 类:
session - 描述: 用于管理用户会话的会话类。
Template
- 类:
template - 描述: 用于渲染视图的模板引擎类。
- 示例
use hyper\template; $engine = new template(__DIR__); var_dump($engine->render('welcome', ['message' => 'Welcome to App']));
Translator
- 类:
translator - 描述: 用于翻译文本的 Google 翻译器类。
实用类
Cache
- 类:
cache - 描述: 用于缓存数据的缓存类。
- 示例
use hyper\cache; $cache = new cache('home'); var_dump($cache->load('time', fn() => 'Now :' . time(), '5 minutes'));
Collect
- 类:
collect - 描述: 用于处理数据集合的集合类。
Form
- 类:
form - 描述: 用于构造和管理表单的表单构建器类。
- 示例
use hyper\utils\form; // independent usage $form = new form(request: $request, fields: [['type' => 'text', 'name' => 'name']]); // usage from model $form = new form(request: $request, model: $student); // add new form field $form->add(['type' => 'email', 'name' => 'email', 'required' => true]); // validate form if($form->validate()){ var_dump($form->getData()); }else{ echo $form->render(); }
Hash
- 类:
hash - 描述: 用于散列和加密的类。
Image
- 类:
image - 描述: 用于管理图像操作的图像辅助类。
- 示例
use hyper\utils\image; $image = new image(__DIR__ . '/image.png'); $image->compress(50); $image->resize(720, 360); $image->rotate(90); $image->bulkResize([540 => 540, 60 => 60]);
Paginator
- 类:
paginator - 描述: 用于处理分页的分页类。
- 示例
use hyper\utils\paginator; $paginator = new paginator(total: 500, limit: 20); $paginator->setData([...]); var_dump($paginator->getData(), $paginator->getLinks());
Ping
- 类:
ping - 描述: 用于 HTTP ping/cURL 辅助类的类。
- 示例
use hyper\utils\ping; $http = new ping(); $http->download(__DIR__.'/downloads/file.jpg'); var_dump($http->get('http://domain.com/download-file'));
Uploader
- 类:
uploader - 描述: 用于管理文件上传的文件上传类。
- 示例
use hyper\utils\uploader; $uploader = new uploader(uploadDir: __DIR__ .'/uploads', extensions: ['jpe', 'png'], multiple: true); var_dump($uploader->upload($_FILES['upload']));
Validator
- 类:
validator - 描述: 用于验证 HTTP 输入的验证器类。
- 示例
use hyper\utils\validator; $validator = new validator(request: $request); var_dump($validator->validate([ 'name' => ['required', 'min:10', 'max:60'], 'email' => ['required', 'email'], ]));
辅助类
Form
- 类:
form - 描述: 用于从模型对象属性中提取表单字段的特质。
- 示例
use hyper\model; use hyper\helpers\form; class student extends model { use form; protected function form(): array { return [ 'name' => ['type' => 'text', 'required' => true], 'email' => ['type' => 'email', 'required' => true], 'gender' => ['type' => 'radio', 'options' => ['M' => 'Male', 'F' => 'Female']], ]; } } $form = new form(request: $request, model: new student()); var_dump($form->render());
- 类:
mail - 描述: PHP 内置的邮件类。
- 示例
use hyper\helpers\mail; $mail = new mail(); $mail->from('shahin.moyshan2@gmail.com', 'Shahin Moyshan'); $mail->replyTo('shahin.moyshan2@gmail.com'); $mail->subject('Test Mail'); $mail->body('Hello World, This is Test Mail From Shahin Moyshan'); $mail->send();
ORM
- 类:
orm - 描述: 数据库交互的对象关系映射器。
- 示例
use hyper\model; use hyper\helpers\orm; class student extends model { use orm; protected function orm(): array { return [ 'department' => ['has' => 'one', 'model' => department::class], 'subjects' => ['has' => 'many-x', 'model' => subject::class, 'table' => 'students_subjects'], 'results' => ['has' => 'many', 'model' => result::class, 'formIgnore' => true], ]; } } var_dump(student::with(['subjects', 'results', 'department'])->paginate(20));
Uploader
- 类:
uploader - 描述: 管理模型上传的上传助手。
- 示例
use hyper\model; use hyper\helpers\uploader; class student extends model { use uploader; protected function uploader(): array { return [ [ 'name' => 'photo', 'multiple' => false, 'uploadTo' => 'students', 'maxSize' => 1048576, // 1MB 'compress' => 75, 'resize' => [540 => 540], 'resizes' => [140 => 140, 60 => 60] ] ]; } }
Vite
- 类:
vite - 描述: 资产管理的 Vite 助手类。
快捷函数
Application
- 函数:
app() - 描述: 返回应用程序实例。
Request
- 函数:
request() - 描述: 返回请求实例。
Response
- 函数:
response() - 描述: 返回响应实例。
重定向
- 函数:
redirect() - 描述: 重定向到不同的 URL 并返回空值。
Session
- 函数:
session() - 描述: 返回会话实例。
Router
- 函数:
router() - 描述: 返回路由实例。
Database
- 函数:
database() - 描述: 返回数据库实例。
Query
- 函数:
query() - 描述: 返回查询构建器实例。
Template
- 函数:
template() - 描述: 返回一个新的模板实例。
URLs
- 函数
url(string $path = ''): string- 返回给定路径的 URL。public_url(string $path = ''): string- 返回给定路径的公共 URL。asset_url(string $path = ''): string- 返回给定路径的资产 URL。media_url(string $path = ''): string- 返回给定路径的媒体 URL。request_url()- 返回当前请求的 URL。route_url()- 返回路由 URL。
目录
- 函数
app_dir()- 返回应用程序目录。root_dir()- 返回根目录。
调试
- 函数
dump()- 输出数据以进行检查。dd()- 输出数据并停止执行。debugger()- 显示错误详情并记录应用程序步骤。
环境
- 函数:
env() - 描述: 获取环境变量。
CSRF
- 函数
csrf_token()- 返回 CSRF 令牌。csrf()- 返回带有 HTML 隐藏输入的 CSRF 令牌。
用户
- 函数:
user() - 描述: 返回已登录的用户。
集合
- 函数:
collect() - 描述: 返回一个新的 collect 类实例。
Cache
- 函数:
cache() - 描述: 返回一个新的 cache 类实例。
翻译
- 函数:
__() - 描述: 翻译文本。
Vite
- 函数:
vite() - 描述: 返回一个新的 vite 类实例。
模板
- 函数:
template_exists() - 描述: 检查模板是否存在。
站点设置
- 函数
setting(string $layer, string $key, $default): mixed- 返回此设置的值。settings()- 返回设置抽屉。
结论
HyperCore 提供了一套全面的核心理念、实用方法和助手类,以使使用 Hyper MVT 框架进行 Web 开发高效且愉快。无论是处理 HTTP 请求、管理数据库还是处理模板,HyperCore 都能满足您的需求。