darkfriend / devhelpers
此包最新版本(1.4.3)没有可用的许可证信息。
开发者辅助类
1.4.3
2019-11-07 06:38 UTC
Requires
- php: >=7.0
README
结构
-
DebugHelper
DebugHelper::$mainKey- 包含 $_COOKIE 和 $_GET 的键名的属性DebugHelper::print_pre($o, $die, $show)- 一个静态方法,用于输出整个数组和对象的结构,包含文件和行信息(详细信息见下文)DebugHelper::call($func, ...$params)- 一个静态方法,仅在管理员下调用传递的函数,传递必要的参数(详细信息见下文)DebugHelper::trace($message, $category='common')- 一个静态跟踪方法(下文有使用示例)
-
StringHelper
StringHelper::htmlspecialchars($val)- 一个静态方法,对字符串和数组执行 htmlspecialchars() 操作StringHelper::htmlspecialchars_decode($val)- 一个静态方法,对字符串和数组执行 htmlspecialchars_decode() 操作StringHelper::generateString($length, $chars)- 一个静态方法,返回指定长度的生成字符串StringHelper::getDeclension($value, $words)- 一个静态方法,返回复数形式时的词尾。例如:5个商品,1个商品,3个商品StringHelper::truncate($string, $length, $suffix = '...', $encoding = null)- 返回长度为 $length 的截断文本StringHelper::truncateWords($string, $count, $suffix = '...')- 返回长度为 $length 单词的截断文本
-
ArrayHelper
ArrayHelper::in_array($needle, $haystack)- 在数组中搜索值的快速方法ArrayHelper::isMulti($arr)- 检查数组是否为数组ArrayHelper::sortValuesToArray($sourceArray,$orderArray)- 将值数组排序到顺序数组ArrayHelper::sortKeysToArray($sourceArray,$orderArray)- 将源数组的键排序到顺序数组
-
CurlHelper
CurlHelper::getInstance($newSession = false, $options = [])- 返回 CurlHelper 实例CurlHelper::getInstance($newSession = false, $options = [])->request($url, $data = [], $method = 'post', $requestType = '', $responseType = 'json')- 向 URL 发送请求
-
TypeHelper
TypeHelper::toStrictType($value)- 将 $value 返回为严格类型
DebugHelper::print_pre($o,$die,$show);
- $o - 要输出的数据
- $die - 输出后是否中断脚本执行(默认为 false)
- $show - 是否输出所有 [或仅在特定情况下](默认为 true)
示例
use \darkfriend\devhelpers\DebugHelper; $data = [ 'key1' => 'value1', 'key2' => 'value2', 'key3' => [ 'subKey1' => 'subValue1', 'subKey2' => 'subValue2', ], ]; DebugHelper::print_pre($data);
DebugHelper::call($func,...$params)
- $func - 要输出的函数
- $params - 要传递的参数
示例
use \darkfriend\devhelpers\DebugHelper; $data = [ 'key1' => 'value1', 'key2' => 'value2', 'key3' => [ 'subKey1' => 'subValue1', 'subKey2' => 'subValue2', ], ]; // способ 1: используя $params DebugHelper::call(function($data) { DebugHelper::print_pre($data); },$data); // способ 2: используя use DebugHelper::call(function() use ($data) { DebugHelper::print_pre($data); });
DebugHelper::trace($message,$category)
- $message - 信息
- $category - 跟踪类别
其他功能
- 支持跟踪模式
- TRACE_MODE_REPLACE - 覆盖日志模式
- TRACE_MODE_APPEND - 追加日志模式
- TRACE_MODE_SESSION - 跟踪会话模式
- 支持跟踪会话 - 每个运行都在单独的文件中
示例 1:简单的跟踪
任务:简单地将数据记录到日志中
use \darkfriend\devhelpers\DebugHelper; $array1 = [ 'key1' => 'value1', 'key2' => 'value2' ]; // trace 1 DebugHelper::trace($array1); // итог: запишет $array1 с категорией common. $array1['key3'] = [ 'subKey1' => 'subValue1', 'subKey2' => 'subValue2', ]; // trace 2 DebugHelper::trace($array1); // итог: допишет в лог обновленный $array1 с категорией common
示例 1:常见问题解答
- 文件在哪里? - 路径
$_SERVER['DOCUMENT_ROOT'].'/trace.log' - 日志中会有什么? - 将记录 2 个变量 $array1。默认情况下,日志记录是从上到下进行的
- 将使用什么类别? - 默认类别为 "common"
示例 2:每个运行都在单独的文件中
任务:我们保存数据并希望跟踪 id 字符串和保存的数据
use \darkfriend\devhelpers\DebugHelper; $id = 1; // идентификатор // делаем инициализацию // $id - ключ trace-session // self::TRACE_MODE_SESSION - включаем режим trace-session DebugHelper::traceInit($id, DebugHelper::TRACE_MODE_SESSION); $array1 = [ 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' ]; DebugHelper::trace($array1); // итог: запишет $array1 с категорией common. $array1['key3'] = [ 'subKey1' => 'subValue1', 'subKey2' => 'subValue2', ]; // trace 2 DebugHelper::trace($array1); // итог: допишет в лог обновленный $array1 с категорией common
示例 2:常见问题解答
- 文件在哪里? - 路径
$_SERVER['DOCUMENT_ROOT']."/{$id}-trace.log" - 日志中会有什么? - 将记录 2 个变量 $array1。默认情况下,日志记录是从上到下进行的
- 将使用什么类别? - 默认类别为 "common"
- 如何更改日志路径? - 默认情况下,日志创建在根目录下,要更改它,需要将根目录的路径传递给 DebugHelper::traceInit() 方法的第三个参数。示例:
DebugHelper::traceInit($id, self::TRACE_MODE_SESSION,'/logs') - 我能否为不同的 trace 创建不同的文件? - 是的,需要在适当的时机调用方法
DebugHelper::setHashSession($hash),其中 $hash 是任意键。
CurlHelper
$url = 'http://site.ru'; $curl = CurlHelper::getInstance(); $response = $curl->request($url); // $response - array response site.ru // $curl->lastCode - response http code // $curl->lastHeaders - response http headers
带有自定义头部的 CurlHelper
$url = 'http://site.ru'; $curl = CurlHelper::getInstance(); $response = $curl ->addHeaders([ 'Accept-Language' => 'ru-RU', 'Custom-Head' => 'custom', ]) ->request($url); // $response - array response site.ru // $curl->lastCode - response http code // $curl->lastHeaders - response http headers
带有调试功能的 CurlHelper
$url = 'http://site.ru'; $curl = CurlHelper::getInstance(false,[ 'debug' => true, 'debugFile' => __DIR__.'/logs' ]); $response = $curl->request($url); // $response - array response site.ru // $curl->lastCode - response http code // $curl->lastHeaders - response http headers