propaysystems/utilities

一组辅助工具和特性


README

Propay Systems

Propay Utilities

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

一组辅助工具和特性,用于我们每天以及所有系统中常用的常用函数。

需求

PHP 8.1+
Laravel 9+

安装

您可以通过composer安装此包

composer require propaysystems/utilities

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="utilities-config"

特性

辅助函数

-- 数据库辅助函数 --

清除指定表中的所有数据并重置自动增量

DatabaseHelper::resetTable($table);

-- 日期辅助函数 --

这将返回您传入的月份编号的月份名称。缩写将返回月份的简称。

DateHelper::getMonthName($number, $abbreviation = false);

获取南非当前财务年度

DateHelper::getFiscalYear();

获取时间

DateHelper::getTime($string);

-- 文件辅助函数 --

这将返回您传入的字节的易读格式

FileHelper::formatBytes($bytes, $precision = 2);

-- Http 辅助函数 --

获取请求当前分配的公共IP地址

HttpHelper::getIp();

获取请求当前的用户代理

HttpHelper::getUserAgent();

获取系统的主机名/域名。您可以通过指定full来返回http://部分

HttpHelper::hostname($full = false);

获取当前系统的子域名

HttpHelper::subdomain();

-- 身份证号辅助函数 --

从出生日期生成用于测试的假身份证号

IdNumberHelper::generateIdNumber($dateOfBirt, int $male = 1);

生成用于测试的完整假身份证号

IdNumberHelper::generateFakeNumber($dateOfBirt, int $male = 1);

从身份证号中获取性别

IdNumberHelper::getGenderCode($idNumber);

从身份证号中获取出生日期

IdNumberHelper::getBirthDate($idNumber);

从身份证号中获取年龄

IdNumberHelper::getAgeFromIdNumber($idNumber);

验证身份证号

IdNumberHelper::getAgeFromIdNumber($attribute, $value, $parameters);

-- 数字辅助函数 --

将生成介于1和100,000之间的随机整数

NumberHelper::randomInt();

将获取两个数字之间的百分比差异

NumberHelper::getPercentageDifference(int $last, int $current);

这将相应地格式化数字,例如100,000将变为100.00k

NumberHelper::numberFormat(int $number);

这将组合国家前缀,例如27,与手机号码,例如0821231234,并返回27821231234

NumberHelper::combineCellPrefix($prefix, $number)

-- 路由辅助函数 --

检查字符串是否在当前路由名称中

RouteHelper::currentRouteContains($string);

-- SMS 辅助函数 --

从字符串中获取短信消息的数量

SmsHelper::multipart_count($str);

-- Spatie 媒体辅助函数 --

与Spatie媒体包管理文件相关的辅助函数
https://spatie.be/docs/laravel-medialibrary/v10/introduction

-- 字符串辅助函数 --

这将获取每个单词的首字母并将它们大写,然后只返回首字母/字母

StringHelper::initials($str, bool $upperCase = true);

这将大写每个单词的首字母并返回字符串

StringHelper::capitaliseFirstChar($string);

删除所有空白和特殊字符

StringHelper::clean($string, string $delimiter = '-', bool $toLower = false, bool $removeSpecialChars = true);

这将生成随机密码

StringHelper::generatePassword($length = 15, $count = 1, $characters = 'lower_case,upper_case,numbers,special_symbols');

这将使用相关字符遮蔽字符串

StringHelper::mask($string, string $maskingCharacter = '*', int $padLeft = 4, int $padRight = 4));

将数据库列名转换为易读格式

StringHelper::dbColumnHumanReadable($string_array);

将数据库列名转换为易读关系

StringHelper::dbColumnRelation($string_array);

返回所有特殊字符的列表

StringHelper::specialCharacters();

特性

将这些特性包含在任何类中

-- 活动辅助特性 --

这是一个辅助函数,用于Spatie活动日志包
https://spatie.be/docs/laravel-activitylog/v4/introduction

use ActivityHelper;

$thia->log(string $channel, string $description, $preformedOn = null, $causedBy = null, array $properties = []);

-- TableHelper 特性 --

这是一个辅助函数,用于WireUI通知,可以从任何Livewire类中轻松触发通知。

use AlertHelper;

$this->alert($title, $text...);
$this->alertUpdated();
$this->alertCreated();
$this->alertDeleted();
etc

-- Dropdown Schema 特性 --

在您的数据库模型中使用此特性,而不是多次编写样板代码

use DropdownSchema;

$this->table('categories');

-- 复合主键特性 --

在数据库模型中使用该特性能访问复合主键

use HasCompositePrimaryKey;

$this->find($ids, $columns = ['*']);
$this->setKeysForSaveQuery($query);

---- 密码强度特性 ----

使用此特性实现密码强度进度条。

use PasswordStrength;

---- 密码验证特性 ----

使用此特性进行标准密码验证。

use PasswordValidationRules;

---- 保存为大写特性 ----

这将使所有模型数据转换为大写

use SaveToUpper;

---- 空字符串设置为空值特性 ----

这将强制所有空字符串变为空值而不是空字符串

use SetNullOnEmpty;

$this->setNullOnEmpty($input);

---- 切换触发器特性 ----

这将切换相关数据库表中触发器的启用或禁用

use TriggerHelper;

$this->switchDatabaseTrigger($enable = true, $table = null, $trigger = null, string $connection = 'sqlsrv');

-- TableHelper 特性 --

这是livewire powergrid包的辅助工具,用于分页。[前往网站](https://livewire-powergrid.com/)

use TableHelper;

测试

运行pest测试

composer test

运行phpstan代码分析

composer analyse

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请查阅我们的安全策略了解如何报告安全漏洞。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。