abollinger/helpers

一组用于管理Partez框架的实用函数,但不仅限于此!

v1.2.6 2024-04-11 06:38 UTC

This package is auto-updated.

Last update: 2024-09-11 07:33:18 UTC


README

提供了一些有用的PHP函数,以帮助开发者在日常工作中。

入门

安装

您可以使用Composer轻松地将此库添加到您的项目中。

composer require abollinger/helpers

或者在您的composer.json文件中手动添加。

用法

以下是可以使用的所有函数,按它们所属的类树显示

类树中的函数

cleanArray

该函数使用htmlspecialchars函数清理参数数组,以避免XSS攻击的风险。

  • @param array $arr: 要清理的数组。
  • @return array: 清理后的数组。如果@param不是数组,则返回false。

示例

$myArray = Helpers::cleanArray([
    "attack" => "<script>alert('Hey, I'm trying to hack you!')</script>"
]);

echo var_dump($myArray);

// output:

array(1) {
    ["attack"]=>
    string(66) "&lt;script&gt;alert('Hey, I'm trying to hack you!')&lt;/script&gt;"
}

printArray

将PHP数组渲染为HTML ul列表

  • @param array $arr: 要渲染为列表的数组。
  • @param array $classes: 要应用于ul/li的类数组。期望 ["ul" => "classForTheUlTag", "li" => "classForTheLiTag"]。
  • @return string: 默认返回空字符串,否则是数组的HTML ul列表。

示例

$myArray = Helpers::printArray([
    "firstName" => "Antoine",
    "lastName" => "Bollinger"
]);

echo $myArray;

// output:

<ul>
    <li>firstName => <strong>Antoine</strong></li>
    <li>lastName => <strong>Bollinger</strong></li>
</ul>

defaultParams

该函数创建一个数组,其中包含默认值,当客户端存在值时将被替换

  • @param array $default: 必要但非强制性的默认值数组。
  • @param array $params: 必要的参数数组,将用默认值填充。
  • @return array: 填充了默认值的数组 $params。

示例

$params = [
    "firstName" => "Victor"
];

$test = Abollinger\Helpers::defaultParams([
    "firstName" => "Antoine",
    "lastName" => "Bollinger"
], $params);

echo var_dump($test);

// output:
array(2) {
    ["firstName"] => string(6) "Victor"
    ["lastName"] => string(9) "Bollinger"
}

getYaml

Yaml文件读取器,将内容作为数组返回。基于Symfony/Yaml包。

  • @param string $filePath: YAML文件的路径。
  • @return array: 返回YAML文件内容的PHP数组。

getScan

扫描目录并返回所有路径的数组。转义 .class.php 文件。

  • @param string $dir: 要扫描的目录。
  • @param string $rootDir: 目录的根。最初 $dir = $rootDir,但在循环中 $dir 将更改。
  • @return array: 所有详细路径/文件的数组。不嵌套。

isAssociativeArray

该函数用于判断数组是否为关联数组(例如:["key1" => "value1", "key2" => "value2"])或非关联数组(例如:["value1", "value2"])。

  • @param array $arr: 要评估的数组。
  • @return bool: 如果数组是关联的,则返回true,否则返回false。

largestElementInArray

该函数确定数组中元素的最大长度

  • @param array $arr: 要评估的数组。
  • @return int: 最大长度。

defineConstants

从关联数组中定义常量,如果尚未定义。

  • @param array $arr: 包含常量名称作为键及其相应值的关联数组。
  • @return bool: 如果已定义常量或输入不是数组,则返回true。否则返回false。

getAppSubdirectory

该函数返回相对于文档根的应用程序子目录路径。

  • @param string $appRoot: 应用程序根目录的路径。
  • @param string $documentRoot:文档根目录的路径。
  • @return string:子目录路径或空字符串(如果文档根目录长度大于或等于应用根目录长度)。

getAppCompleteHost

此函数返回当前应用的完整主机URL。

  • @return string:当前应用的完整主机URL。

Parsedown

通过在标题中添加#来扩展erusev/parsedown库,以便锚链接能够工作。

类树

Abollinger/
├── Helpers::
│   ├── cleanArray($array)
│   ├── printArray($array, $classes)
│   ├── defaultParams($default, $array)
│   ├── getYaml($filePath)
│   ├── getScan($dir, $rootDir, $allData)
│   ├── isAssociativeArray($array)
│   ├── largestElementInArray($array)
│   ├── defineConstants($array)
│   ├── getAppSubdirectory($appRoot, $documentRoot)
│   └── getAppCompleteHost()
└── Parsedown::
    └── extends the erusev/parsedown library