paliari/php-utils

2.0.1 2023-10-31 12:33 UTC

README

安装

$ composer require paliari/php-utils

使用

增加

增加composer.json的版本。

参数

  • --git-g 提交增加的composer.json并创建git标签

  • --version-v 版本类型 <major | minor | patch | prerelease> 或自定义版本 <1.0.0-pre1>。默认为patch

  • --file-f Composer json文件 <composer.json>。默认为composer.json

      $ vendor/bin/bump -v major -f custom_composer.json -g
      Or
      $ vendor/bin/bump --version 1.0.0 --file custom_composer.json --git
      Or
      $ vendor/bin/bump -v minor --git
    
数组

数组门面。

    $a1 = ['a' => 1];
    $a2 = ['b' => ['b1' => 2]];
    $a3 = \Paliari\Utils\A::merge($a1, $a2);
    var_export($a3);
    // export to ['a' => 1, 'b' => ['b1' => 2]]
    
    $val = \Paliari\Utils\A::deepKey($a3, 'b.b1');
    var_export($val);
    // export to 2;

    $flatten = \Paliari\Utils\A::flatten($a3);
    var_export($flatten);
    // export to [1, 2];

    
函数
    // explode string of space, aliases to explode(' ', $str);
    $str = 'a b 1.3d a-x';
    $a = w($str);
    var_export($a);
    // export to ['a', 'b', '1.3d', 'a-x'];
    
记录器

将日志写入文件

    
    // config custom file log, default is realpath(sys_get_temp_dir()) . '/php-util.log'
    $file = __DIR__.'/tmp/logs/test.log';
    \Paliari\Utils\Logger::file($file); 
    
    //Methods avaliables: "critical, error, warning, notice, info, debug".
    
    // info 
    \Paliari\Utils\Logger::info('Yor custom message.');
    
CatchFatalError
    
    // Init
    \Paliari\Utils\CatchFatalError::init();
    // Or
    \Paliari\Utils\CatchFatalError::init(function ($e) {
        // ... custom handler actions, ex: send mail, save custom log...
        return $e['message'];
    });
    
URL

URL解析门面。

    
    // Example
    $url = 'https://domain.com/home/?p=1&q[a]=11&q[b]=22#/home';
    $u = \Paliari\Utils\Url::parse($url);
    var_export($u);
    // expected
    /*
    Paliari\Utils\Url::__set_state(array(
       'scheme' => 'https',
       'host' => 'domain.com',
       'port' => NULL,
       'user' => NULL,
       'pass' => NULL,
       'path' => '/home/',
       'query' => 'p=1&q[a]=11&q[b]=22',
       'fragment' => '/home',
       'url' => 'https://domain.com/home/?p=1&q[a]=11&q[b]=22#/home',
    ))
    */

    // Method queryToArray convert query string to array.
    var_export($u->queryToArray());
    // expected
    /*
    array (
      'p' => '1',
      'q' => 
      array (
        'a' => '11',
        'b' => '22',
      ),
    )
    */
    

作者