86dev / php-tools
PHP工具集
Requires
- php: ^5.6 || ^7 || ^8
Requires (Dev)
- phpunit/phpunit: ^8.5
README
一组PHP工具
布尔值
BoolHelper
类提供静态函数,用于将人类布尔字符串解析为布尔值。
-
已为布尔值的将直接返回。
-
所有非零数字值将返回true。
-
null和0将返回false。
-
如"yes"、"true"和"1"等字符串将返回true。(不区分大小写)
-
如"no"、"false"和"0"等字符串将返回false。(不区分大小写)
-
这些字符串的国际化值也是可用的
- 真字符串:ae, ano, asli, bai, benetako, bəli, bẹẹni, da, dhabta ah, e, ea sebele, echt, ee, eh, eny, evet, ezigbo, fíor, gerçek, gidi, go iawn, ha, haa, halisi, haqiqiy, ie, igen, inde, iva, iya nih, ja, jah, joo, já, jā, ndiyo, nekilnojamasis, nuhun, nyata, oo, oui, po, pravi, prawdziwy, real, reali, reyèl, reāls, sebenar, si, sim, skutečný, skutočný, sì, sí, taip, tak, tena, thực, tinuod nga, true, tá, tõeline, tūturu, valódi, vero, vrai, vâng, weniweni, werklike, wi, ya, yebo, yes, áno, ναί, πραγματικός, да, бодит, вистински, воқеӣ, да, ды, иә, прави, реален, реальный, реальный, рэальны, так, тийм ээ, шын, ҳа, այո, իրական, אמיתי, כן, פאַקטיש, اصلی, بله, جی ہاں, حقيقي, نعم فعلا, واقعی, असली, रिअल, वास्तविक, हाँ, हो, होय, বাস্তব, হাঁ, ਅਸਲੀ, ਹਾਂ, વાસ્તવિક, હા, ஆம், உண்மையான, అవును, నిజమైన, ನಿಜವಾದ, ಹೌದು, അതെ, യഥാർത്ഥ, ඔව්, සැබෑ, จริง, ใช่, ທີ່ແທ້ຈິງ, ແມ່ນແລ້ວ, စစ်မှန်သော, ဟုတ်ကဲ့, დიახ, რეალური, បាទ, ពិតប្រាកដ, はい, リアル, 実, 實, 是, 예, 현실
- 假字符串:amanga, ayi, babu, bakak, been ah, bohata, br, bréagach, cha, che, dili, dim, diso, ee e, ei, eke, fals, falsch, false, falsk, falso, faltsua, falz, faux, fałszywy, ffug, fo, geen, hamis, hapana, hindi, huwad, ingen, jo, không, klaidinga, lažan, lažno, le, maya, napačen, ne, nee, nei, nein, nej, nem, nepravdivé, nepravdivý, nie, no, non, noto'g'ri, nr, nu, nē, onwaar, ora, pa gen okenn, palsu, rangt, rara, sai, salah, teka, teu, tidak, tsy misy, uimh, uongo, vale, vals, viltus, väärä, yanlış, yo'q, yok hayır, yox, zabodza, št, žiadny, ƙarya, ψευδής, όχι, не, бр, жалған, жоқ, лажно, ложный, не, немає, нет, неточно, нодуруст, négo, помилковий, фалшив, фальшывы, худал, үгүй, կեղծ, ոչ, לא, שֶׁקֶר, خاطئة, غلط, لا, نادرست, نه, نہیں, असत्य, खोटे, गलत, नहीं, नाही, না, মিথ্যা, ਝੂਠ, ਨਹੀਂ, ખોટા, ના, இல்லை, தவறான, ఏ, తప్పుడు, ಇಲ್ಲ, ಸುಳ್ಳು, ഇല്ല, തെറ്റായ, අසත්යය, නැත, เท็จ, ไม่, ບໍ່ຖືກຕ້ອງ, မမှန်သော, အဘယ်သူမျှမ, არა, ყალბი, ទេ, មិនពិត, ụgha, 假, 偽, 没有, 没有, 그릇된, 아니
注意:这是通过谷歌完成的,可能会出错。如果您在您的语言中发现错误,请提交一个问题。此外,在检查值之前调用了
mb_strtolower
。它在几乎所有语言中都工作得很好,但在某些语言中则不行:mb_strtoupper('yanlış') === 'YANLIŞ'
(注意i上的点缺失)但转换回小写时给出'yanliş'
(这次i上有点)
BoolHelper::to_bool('yes'); // true BoolHelper::to_bool('true'); // true BoolHelper::to_bool(1); // true BoolHelper::to_bool(1.5); // true BoolHelper::to_bool('no'); // false BoolHelper::to_bool('false'); // false BoolHelper::to_bool(0); // false BoolHelper::to_bool(null); // false
使用案例
// You can use it to parse user input BoolHelper::to_bool($_GET['user_input']); // Or check a parameter function test($param) { $param = BoolHelper::to_bool($param); }
字符串
StringHelper
类提供静态函数,用于将字符串转换为不同的开发者大小写。
$value = "Some string with MANY Words"; StringHelper::split_words($value); // ['Some', 'string', 'with', 'MANY', 'Words'] StringHelper::capitalize($value); // Some string with many words StringHelper::pascal_case($value); // SomeStringWithManyWords StringHelper::camel_case($value); // someStringWithManyWords StringHelper::snake_case($value); // some_string_with_many_words StringHelper::upper_snake_case($value); // SOME_STRING_WITH_MANY_WORDS StringHelper::capital_snake_case($value); // Some_String_With_Many_Words StringHelper::kebab_case($value); // some-string-with-many-words StringHelper::train_case($value); // Some-String-With-Many-Words StringHelper::initial($value); // SSWMW
它还提供了一个remove_diacritics
函数(用于上述函数),用于删除变音符号(é, è, à, â, ç, ...)。
调试
Debug
类提供处理错误显示的函数。
dumpit($value)
使用var_export
在标签中打印$value的内容。
dumpitscript($value)
使用json_encode
在javascript控制台中打印$value的内容。reportit
与dumpit
执行相同操作,但返回字符串而不是打印它。reportitscript
与dumpitscript
功能相同,但返回字符串而不是打印它。exception_to_array($exception, $max_recursion = 5)
将异常转换为数组。如果给定的 $exception 有之前的异常且 $max_recursion 大于 0,则将递归调用自身。
ServerArray
厌倦了在网上检查 $_SERVER 数组的正确键吗?ServerArray
类提供了对所有标准 $_SERVER 键的访问。
ServerArray::REQUEST_URI();
https://php.ac.cn/manual/en/reserved.variables.server
HtmlCodes
与 ServerArray
类似,HtmlCodes
类提供了一个 html 代码常数的列表。
HtmlCodes::OK; // 200 HtmlCodes::UNAUTHORIZED; // 401 HtmlCodes::FORBIDDEN; // 403 HtmlCodes::NOT_FOUND; // 404 HtmlCodes::IM_A_TEAPOT; // 418 ...
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Timer
Timer
类是一个简单的类,用于分析执行时间。
$timer = new Timer(true); // true to automatically start the timer a_long_function(); $first_duration = $timer->duration(); // returns the time in seconds with milliseconds since the timer has been started until now another_long_function(); $timer->stop(); // stops the timer $final_duration = $timer->duration(); // returns the time since the timer has been started until it has been stopped. a_third_long_function(); // calling $timer->duration() now will return the time since the timer has been started until it has been stopped, so the same as $final_duration. echo $final_duration; // ex: 75.547682 echo $timer; // print m:ss.zzz, ex: 1:15.548
Timers
您可以使用 Timers
记录多次。
$timers = new Timers(); $timers->start('all'); $timers->start('first'); a_long_function(); $timers->stop('first'); $timers->start('second'); another_long_function(); $timers->stop('second'); $timers->start('third'); a_third_long_function(); $timers->stop('third'); $timers->stop('all'); echo $timers->get('first'); echo $timers->get('second'); echo $timers->get('third'); echo $timers->get('all');
Monolog\TimerProcessor
当使用 monolog/monolog 包时,Monolog\TimerProcessor
类将秒和毫秒的持续时间添加到 extra 数组中。
$logger = new Monolog\Logger('Test'); $logger->pushProcessor(new TimerProcessor());
Monolog\RequestIdProcessor
当使用 monolog/monolog 包时,Monolog\RequestIdProcessor
类将请求 ID 添加到 extra 数组中。
该 ID 是由 $_SERVER['REMOTE_ADDR'].$_SERVER['REMOTE_PORT'].$_SERVER['REQUEST_TIME_FLOAT'].$_SERVER['REQUEST_URI']
组成的哈希值。
目标是提供一种方法来区分不同同时请求的记录消息。
$logger = new Monolog\Logger('Test'); $logger->pushProcessor(new RequestIdProcessor());