gui-don/rico-library

Rico项目库 - PHP库

3.1.0 2021-01-24 23:41 UTC

This package is auto-updated.

Last update: 2024-09-29 20:25:00 UTC


README

PHP实用库

本项目由一些轻量级且经过良好测试的库组成。

它们在不想导入大量依赖的情况下,提供了访问常用低级别健壮功能的能力。

安装

Composer
composer require gui-don/rico-library
手动安装(带源代码)

autoload.php文件导入到您的代码中

require_once('autoload.php');

use \Rico\Lib\StringUtils;

// etc
带Phar的手动安装
  • 发布页面上下载最新Phar文件。
  • 将其导入到您的代码中
require_once('phar://rico-lib.phar');

use \Rico\Lib\StringUtils;

// etc

文档

如何 - 过程式风格(在数据对象中推荐使用)

<?php

require_once('autoload.php');

use \Rico\Slib\StringUtils;

// […] Some code
// $uglyString = getUglyString();

$beautifulString = StringUtils::beautifulise($uglyString);

如何 - 面向对象风格(在其他地方推荐使用)

<?php

// autoload Not need if using composer
// require_once('autoload.php');

use \Rico\Lib\StringUtils;

// […] Some code
// $uglyString = $object->getUglyString();

$stringUtils = new StringUtils();
$beautifulString = $stringUtils->beautifulise($uglyString);

缺少一个函数?提交一个拉取请求或简单扩展以下类。

ArrayUtils

  • flatten(array $multidimensionalArray): array: 从一个多维度数组中提取每个元素到一个单独的列表中。不保留任何键。
    // […]
    $array = [1, 2, 3], ['test' => 2], [], [2, 5, 6, 7]];

    var_dump(ArrayUtils::flatten($array));
    // Result: [1, 2, 3, 2, 2, 5, 6, 7]
  • insert($needle, int $index, array $haystack): array: 在 $haystack 中 $index 位置插入一个元素 $needle,保持顺序并移动其他元素。不保留任何键。
    // […]
    $needle = 'replace';
    $index = 10;
    $haystack = [0 => 'zero', 10 => 'misplaced', 14 => 'next'];

    var_dump(ArrayUtils::insert($needle, $index, $haystack));
    // Result: [0 => 'zero', 1 => 'replace', 2 => 'misplaced', 3 => 'next']
  • orderByOccurrence(array $array): array: 根据数组中每个元素的出现次数对 $array 的值进行排序。适用于任何类型。去重。
    // […]
    $array = [1, 2, 3, 4, 5, 4, 5, 4];

    var_dump(ArrayUtils::orderByOccurrence($array));
    // Result: [4, 5, 1, 2, 3]
  • transpose(array $similarArrays): array: 将多个 $similarArrays 转换为键值数组。
    // […]
    $similarArrays = ['first' => 1, 'second' => 2, 'third' => 3], ['first' => 1], ['first' => 1, 'third' => 3, 'second' => 2];

    var_dump(ArrayUtils::transpose($similarArrays));
    // Result: ['first' => [1, 1, 1], 'second' => [2, 2], 'third' => [3, 3]]

FileUtils

  • addLine($file, $line): 在 $file 的末尾添加一个新行而不重复。

  • count($file, $countEmpty = false): 计算一个文件中的行数。

  • extractExtension(string $filename): 从一个文件名中提取扩展名(不带点)或从路径中提取。

FilesystemUtils

  • createPath($path): 创建完整的 $path,包括所有缺失的中间目录。

  • createSymlink($link, $path): 创建一个指向 $file 的符号链接。

  • listDirectory($path, $option): 获取 $path 内的文件名和文件夹名(根据 $option)。

StringUtils

  • alphaToId($string, $secret): 将一个字母字符串转换为标识符(一个整数)。

  • beautifulise($uglyString): 将一个丑陋的字符串(带有不正确的标点符号)转换为美丽的字符串(带有正确的标点符号)。

  • humanFilesize($bytes): 获取 $bytes 大小的人类可读字符串。

  • idToAlpha($integer, $secret): 将一个标识符转换为一个字母数字字符串。

  • minify(string $string): 从 $string 中移除空格、换行符和注释。

  • normalize($string): 清理 $string,通过删除多空格、换行符、缩进和HTML标签。

  • normalizeWhitespace($string): 将 $string 中的所有类型的空格(制表符、空格、非断行等)替换为一个简单空格。

  • randString($length, $allowedChars): 生成一个由 $allowedChars 组成的长度为 $length 的随机字符串。

  • removeBracketContent($string): 从 $string 中移除括号及其内容。

  • removeLine($string): 从 $string 中移除所有类型的换行符。

  • removeWhitespace($string): 从 $string 中移除所有类型的空格。

  • slugify($string): 将 $string 转换为只包含ascii字符并由短横线分隔的字符串。

  • underscoreToSpace($string): 将 $string 中的下划线替换为空格。

ValidationUtils

  • isEmail($mixed): 检查 $mixed 值是否为电子邮件。

  • isHexadecimal($mixed): 检查 $mixed 值是否为十六进制值。

  • isIp($mixed): 检查 $mixed 值是否为IP(v4或v6)。

  • isNumber($mixed):检查$mixed值是否为十进制数(浮点数或整数)。

  • isPhoneNumber($string):检查$string值是否为电话号码。

  • isPositiveInt($mixed):检查$mixed值是否为正整数(主键)。

  • isURL($mixed):检查$mixed值是否为URL。

  • isURLMagnet($mixed):检查$mixed值是否为磁力链接URL。

MathUtils

  • smartRound($number, $idealLength):将$number四舍五入,只有当$number的整数部分小于$idealLength时才添加小数部分。

UrlUtils

  • getResourceName($url):从$url中获取资源的名称(图像、pdf等)。

  • stripResourceName($url):获取没有资源的URL(图像、pdf等)。