Класс с набором полезных функций, по мнению автора. Не претендует на идеальность и единственное верное решение.
A class with a set of useful functions, according to the author. It does not pretend to be ideal and the only correct solution.
Run:
composer require --prefer-dist denisok94/helper
# or
php composer.phar require --prefer-dist denisok94/helper
or add to the require
section of your composer.json
file:
"denisok94/helper": "*"
composer update
# or
php composer.phar update
use \denisok94\helper\Helper as H;
H::methodName($arg);
Работа с массивами
Method | Description |
---|---|
get | Найти в массиве по пути |
set | Добавить/заменить элемент в массиве |
parse | Заменить шаблон |
implodeWrap | Объединяет элементы массива в строку + обернуть текст в кавычки |
implodeWith | Объединяет элементы массива в строку, с предпользовательской обработкой |
implodeByKey | Объединяет элементы массива в строку по ключу |
implodeByKeyWrap | Объединяет элементы массива в строку по ключу + обернуть текст в кавычки |
implodeMulti | Объединяет элементы многомерного массива в строку |
isJson | проверяет данные на json |
toJson | Преобразовать массив/объект в json |
toArray | Преобразовать json в массив |
arrayToObject | Преобразовать массив в объект |
array2Object | Преобразовать массив в объект, вариант 2 |
objectToArray | Преобразовать объект в массив |
object2Array | Преобразовать объект в массив, вариант 2 |
arrayOrderBy | Сортировка массива |
arrayToObject и objectToArray - работают быстрее, но могут возникнуть исключения. array2Object и object2Array - использую преобразование через json_decode + json_encode, это более ресурсозатратные, но надёжнее.
Method | Description |
---|---|
currentDate | Текущая дата |
currentDt | Текущая дата и время |
toMysqlDate | Преобразовать дату в формат Mysql |
toMysqlDt | Преобразовать дату и время в формат Mysql |
toRuDate | Русский формат даты |
toRuDt | Русский формат даты и времени |
stampToDt | Преобразовать timestamp в формат даты и времени |
stampToDtU | Преобразовать timestamp в формат даты и времени с миллисекундами |
yesterdayDate | Получить вчерашнюю дату |
createDate | |
modifyDate | |
getStamp |
H::createDate('yesterday'); // yesterday
H::createDate('-1 day'); // yesterday
H::createDate('1 day'); // tomorrow
H::modifyDate('2006-12-12', '-1 day'); // 2006-12-11
H::modifyDate(H::currentDate(), '+1 day'); // tomorrow
H::modifyDate(H::currentDt(), '-1 day', 'Y-m-d H:i:s'); // yesterday
H::getStamp('22-09-2008 00:00:00', 'd-m-Y H:i:s'); // 1222030800 (This will differ depending on your server time zone...)
H::getStamp('22-09-2008 00:00:00', 'd-m-Y H:i:s', 'UTC'); // 1222041600
H::getStamp(H::currentDt())
Method | Description |
---|---|
uuid | Сгенерировать uuid v4 |
guid | Сгенерировать guid v4 |
random | Сгенерировать рандомную строку |
spell | падежи к числительным |
slug | преобразовать строку в человекопонятный url |
ru2Lat | Транслитирование, ГОСТ 7.79-2000, схема А |
ruToLat | Транслитирование, ГОСТ 7.79-2000, схема Б |
ru2Slug | преобразовать строку, на русском (схема А), в человекопонятный url |
getClassName | Получить имя класса |
slashes | экранирование |
replaceBBCode | Парсинг BB-кодов |
Поддержка:
- [hr]
- [h1-6]заголовок[/h1-6]
- [b]жирный[/b]
- **жирный**
- [i]курсив[/i]
- [u]подчеркнутый[/u]
- __Подчеркнутый__
- [s]зачеркнутый[/s]
- ~~зачеркнутый~~
- [code]code[/code]
- [code=php]code[/code]
- ```code```
- ||spoiler||
- [spoiler=спойлер]спойлер[/spoiler]
- [quote][/quote]
- [quote=][/quote]
- [url=][/url]
- [url][/url]
- [img][/img]
- [img=]
- [size=2][/size] в %
- [color=][/color]
- [list][/list] - ul
- [ul][/ul] - ul
- [listn][/listn] - ol
- [ol][/ol] - ol
- [*][*] - li
- [li][/li] - li
Работа с файлами
Method | Description |
---|---|
ext | Получить расширение файла |
fileRead | Показать содержимое файла |
fileGetDt | Получить дату последнего изменения |
fileType | Получить тип файла |
fileIcon | Получить название иконки для файла |
fileIconFa | Получить название иконки для файла в формате Font Awesome 4/5 |
fileShortSize | короткий размер файла |
shortSize | 2048 → 2.00 KB |
parseSize | 2.00 KB → 2048 |
dirSize | Получить размер папки |
Генерация html тегов
в разработке...
Method | Description |
---|---|
video | видео тег |
Method | Description |
---|---|
curl | curl для большинства простых запросов |
getRequest | параметры запроса |
getUserIp | получить IP пользователя |
isBot | Проверка пользователя на бота |
msleep | уснуть на N секунд |
isBot() не даёт 100% гарантии. Кому разрешить/запретить доступ/функционал - решать исключительно Вам. Запрещая всё и всем, Вы можете лишится продвижения сайта в поисковых ресурсах и/или красивых привью в соц сетях =).
Узнать, сколько времени выполняется код
use \denisok94\helper\other\MicroTimer;
$queryTimer = new MicroTimer(); // start
// code ...
$queryTimer->stop();
// result:
$time = $queryTimer->elapsed();
// or/and
printf($queryTimer);
взято у phpLiteAdmin
Method | Parameters | Return | Description |
---|---|---|---|
__construct | ?array, ?mixed | throws | set required parameters and/or default value |
get | string, ?default | value/default | get argument or option |
getArgument | string, ?default | value/default | get argument |
getArguments | - | array | get arguments |
getOption | string, ?default | value/default | get option |
getOptions | - | array | get options |
hasArgument | string | true/false | |
hasOption | string | true/false | |
show | string | string |
use \denisok94\helper\other\Console;
// php console.php arg1 arg2=val -o -a5 --option --option1=6 --option1=3
$console = new Console();
$console->getArguments(); // [arg1,arg2=>val]
$console->getArgument(0); // arg1
$console->getArgument('arg2'); // val
$console->getOptions(); // [o=>null,a=>5,option=>null,option1=>[6,3]]
Required parameters
use \denisok94\helper\other\Console;
try {
$console = new Console([
'test', // required arguments and/or options
'options' => ['test', ], // required options
'arguments' => ['test', ], // required arguments
]);
} catch (\Exception $th) {
die($th->getMessage());
}
Default value
use \denisok94\helper\other\Console;
$console = new Console(null, true);
$console->getOptions(); // [o=>true,option=>true,...]
Deletes in version 0.8.0 (12.06.2022)
A new separate repository has been created:
- class MetaTag
- class ConsoleController and StatusController