Simon的PHP库

dev-master 2023-09-07 21:10 UTC

This package is auto-updated.

Last update: 2024-09-07 23:09:10 UTC


README

什么

我收集的PHP 8+应用程序原型设计的实用类库。

License: MIT

为什么

有时候我就是想以老式的方式快速完成事情——快速、直接且有趣。

我不需要覆盖所有可能场景或用例的庞大库,只需要一些简单且足够好的东西。

此外,我喜欢捣鼓代码,所以请别打扰我!🤣

如何

你可能不应该使用,它几乎肯定在许多情况下都有不同程度的损坏(我不关心,但还没有)🤣

composer require simon-downes/spl

概述

一般

以下常量将自动定义

  • SPL_CLI - 如果在CLI环境中运行则为true,否则为false
  • SPL_REQUEST_ID - 一个随机的8位十六进制字符串
  • SPL_START_TIME - 请求开始的时间,或(如果不可用)当自动加载器被调用时

初始化特定目录的框架,如果存在,则加载一个.env文件

SPL::init(directory: getcwd(), load_env: true );

这将设置SPL_ROOTSPL_DEBUG常量。SPL_DEBUG基于以下值设置

  • 环境变量APP_DEBUG的值
  • 环境变量APP_ENV的值(生产环境为false,其他为true)
  • 如果设置为除了true、false或空字符串之外的任何值则为false

输出变量的调试表示

    // dump and continue
    d($my_var, $my_other_var, ...);

    // dump and die after...
    dd($my_var, $my_other_var, ...);

上述命令只有在SPL_DEBUG设置为true时才会输出内容。

在非CLI上下文中调用dd()时,如果没有发送任何头信息,将发送一个text/plain的内容类型头。

获取环境变量的值(或默认值)

    env("MY_ENV_VAR_NAME", "Default Value");

显示错误消息/页面

SPL::error($exception);

对于CLI输出,将显示堆栈跟踪。

对于Web输出,如果SPL_DEBUGtrue,则显示调试页面;否则显示通用的503错误页面。还会记录堆栈跟踪(请参阅下面的日志记录)。

数据库

日志记录

支持以下级别

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

将消息记录到文件

Log::message(message: "Hello World", level: "INFO", file: = '' );

将输出消息的格式为

Date Time Request-ID [LEVEL] Message
2023-07-13 17:38:10 deee16e2 [INFO] Hello World

file可以是

  • php - 将输出发送到error_log()
  • 一个文件名
  • 一个空字符串 - 使用env('APP_LOG_FILE')的值,如果不存在则回退到php

方便的方法

Log::debug(message: "", file: "");
Log::info(message: "", file: "");
Log::warning(message: "", file: "");
Log::error(message: "", file: "");
Log::critical(message: "", file: "");

HTTP请求

待办事项

随机数据

生成一些随机数据

Random::hex(length: 40);
Random::string(length: 10 , allowed = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');

字符串

待办事项