denisok94/helper

A class with a set of functions to facilitate programming

0.8.6 2024-12-16 16:53 UTC

README

Класс с набором полезных функций, по мнению автора. Не претендует на идеальность и единственное верное решение.

A class with a set of useful functions, according to the author. It does not pretend to be ideal and the only correct solution.

https://img.shields.io/badge/license-BSD-green

  1. Установка
  2. Использование
    1. ArrayHelper
    2. DataHelper
    3. StringHelper
    4. FileHelper
    5. HtmlHelper
    6. OtherHelper
  3. Other Class
    1. MicroTimer
    2. Console
    3. Session
    4. S3DataService
    5. CloneObject
  4. Framework Integration
    1. Yii2
    2. Symfony

Установка

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);

ArrayHelper

Работа с массивами

arrayToObject и objectToArray - работают быстрее, но могут возникнуть исключения. array2Object и object2Array - использую преобразование через json_decode + json_encode, это более ресурсозатратные, но надёжнее.

DataHelper

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())

StringHelper

replaceBBCode

Поддержка:

  • [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

FileHelper

Работа с файлами

HtmlHelper

Генерация html тегов

в разработке...

OtherHelper

isBot() не даёт 100% гарантии. Кому разрешить/запретить доступ/функционал - решать исключительно Вам. Запрещая всё и всем, Вы можете лишится продвижения сайта в поисковых ресурсах и/или красивых привью в соц сетях =).

Other Class

MicroTimer

Узнать, сколько времени выполняется код

use \denisok94\helper\other\MicroTimer;
$queryTimer = new MicroTimer(); // start
// code ...
$queryTimer->stop();

// result:
$time = $queryTimer->elapsed(); 
// or/and
printf($queryTimer);

взято у phpLiteAdmin

Console

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,...]

Session

Класс по работе с сессиями

S3DataService

Класс по работе с S3 хранилкой

CloneObject

Класс по... хз зачем делал, но сохраню =)

Framework Integration

Yii2

Deletes in version 0.8.0 (12.06.2022)

A new separate repository has been created:

Symfony

Symfony Helper