ssitu / jacktrades
一套最小的php通用类集合,也称为utils。
v3.0.0
2021-07-22 21:34 UTC
README
一套最小的静态php通用类集合,也称为utils。
Jack仍在开发中。 🔧
预计在2021年接下来的几周/几个月内会有更新。
入门
composer require ssitu/jacktrades
或选择文件和方法以满足您的需求。
初始化
use SSITU\Jack; require_once 'path/to/autoload.php'; Jack\Time::isoStamp(); Jack\Admin::phpInfo(); Jack\Token::sha40char(); # etc.
概览
管理员
Admin::benchmark(callable $callback, array $argm = array ()); Admin::bestHashCost(int|float $timeTarget = 0.05, int $cost = 8, $algo = '2y'); Admin::serverInfos(); Admin::phpInfo(); Admin::hashAdminKey(string $adminKey);
时间
Time::isoStamp(); Time::stamp(string $format = 'Y-m-d H:i:s \\G\\M\\TO'); Time::subTime(string $date, string $interval, string $format = 'c'); Time::addTime(string $date, string $interval, string $format = 'c'); Time::isValidDate(string $date); Time::dateObj(string $date); Time::isExpired(string $givendate, string $maxdate); Time::isInInterval(string $date, string|int $tolerance, string $unit = 'minutes'); Time::isInRange(string $date, string $minDate, string $maxDate = 'now'); Time::isFuture(string $date); Time::convertEngToFormat(string $unit); Time::countRemainingTime(string $startDate, string|int $count, string $unit = 'day'); Time::relativeInterval(object $originDate, object $targetDate, string $format); Time::getInterval(string $origin, ?string $target = NULL, string $format = '%a'); Time::isValidTimezone(string $timezoneId); Time::timezonesList();
令牌
Token::timeBased(); Token::sha40char(); Token::getSecrets(string $token, array $eligiblechars); Token::withSecret(string $secretchar, array $pool, int $tokenlength); Token::b64basic(int $bytes = 64); Token::hexBytes(int $bytes = 32);
请注意,这些令牌都存在于糖果世界。
对于加密安全令牌,您应该查看 sodium。
帮助
Help::isValidHexColor(string $hexCode); Help::resolveHexColor(string $hexCode); Help::filterBool(mixed $var); Help::filterValue(mixed $var, $filter = 513); Help::intLen(int $int); Help::UpCamelCase(string $string); Help::isHTML(string $string); Help::isPostvInt(mixed $value); Help::isValidPattern(string $pattern); Help::boolify(mixed $value); Help::num2alpha(int $n); Help::alpha2num(string $a); Help::intIsInRange(string|int $int, string|int $min, string|int $max);
文件
File::recursiveMkdir(string $dir); File::write(mixed $data, string $path, bool $formatRslt = false); File::buffrInclude(string $path, mixed $v_ = NULL); File::getContents(string $path); File::readIni(string $path); File::getExt(string $path); File::reqTrailingSlash(string $dirPath); File::readJson(string $path, bool $asArray = true, bool $strictMode = false); File::saveJson(mixed $data, string $path, bool $formatRslt = false); File::testReadWrite(array $paths); File::moveFileObj(string $src, string $dest); File::recursiveCopy(string $src, string $dest, array $excl = array ()); File::patternDelete(string $globPattern, mixed $flag = 0); File::recursiveDelete(string $dirPath); File::copySrcToDest(string $src, string $dest, bool $formatRslt = false); File::recursiveGlob(string $base, string $pattern, mixed $flags = 0); File::countInodes(string $path); File::getDirSize(string $dir); File::getOccupiedSpace(string $dir); File::getAvailableSpace(string $dir, int $maxGB, bool $prct = true); File::getRsltKeyword(mixed $boolish, string $success = 'success', string $error = 'err');
数组
Array::unsetNestedColumn(array $arr, mixed $columnKey); Array::sortNestedByKey(array $arr, mixed $key); Array::sortByKey(array $arr, mixed $key, $order = 4); Array::emptyItmsKeys(array $arr); Array::filterEmptyItms(array $arr); Array::filterNonEmptyItms(array $arr); Array::allItmsAreEmpty(array $arr); Array::noItmsAreEmpty(array $arr); Array::countEmptyItms(array $arr); Array::allItemsAreInt(array $arr); Array::allItemsAreString(array $arr); Array::merge(array $originValues, array $newValues); Array::flatten(mixed $itm, array $out = array (), mixed $key = ''); Array::reIndex(array $arr, int $startAt = 0); Array::longestItm(array $arr); Array::longestKey(array $arr); Array::strlenItms(array $arr); Array::highestKey(array $arr); Array::highestIntKey(array $arr); }
网络
Web::redirect(string $url); Web::addQueries(string $pageUrl, array $queries); Web::getProtocol(); Web::isAlive(string $url); Web::httpPost(string $url, array $data); Web::b64url_encode(string $data); Web::b64url_decode(string $data); Web::extractSubDomain(?string $url = NULL, bool $exlude_www = true);
随机
Random::boolean(); Random::digit(); Random::speChar(array|string $speChars = '*&!@%^#$'); Random::multLetters(int $count, string $case = 'random'); Random::letter(string $case = 'random'); Random::mix(int $bytes = 32, array|string $speChars = '*&!@%^#$');
贡献
当然!🙌 您可以查看 CONTRIBUTING。
此仓库还有一个 讨论 选项卡。
许可
本项目受MIT许可证保护;有关详细信息,请参阅 LICENSE。