scabbiafw / scabbia2-helpers

该软件包已被废弃且不再维护。作者建议使用 eserozvataf/scabbia2-helpers 软件包。

Scabbia2 辅助组件

v0.1.3 2015-09-16 02:35 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:51:02 UTC


README

此组件是 scabbia2 其他组件的瑞士军刀。包含以下静态类下的常用辅助方法:ArraysDateFileSystemHtmlRuntimeString

Build Status Scrutinizer Code Quality Total Downloads Latest Stable Version Latest Unstable Version Documentation Status

使用方法

数组

use Scabbia\Helpers\Arrays;

$output = Arrays::flat(['a', ['b', 'c']]);
// $output == ['a', 'b', 'c']

$output = Arrays::getFirst(['a', 'b']);
// $output == 'a'

$output = Arrays::get(['a' => '1', 'b' => '2'], 'b');
// $output == '2'

$output = Arrays::getArray(['a' => '1', 'b' => '2', 'c' => '3'], 'a', 'c', 'd');
// $output == ['a' => '1', 'c' => '3', 'd' => null];

$output = Arrays::getPath(['a' => ['b' => ['c' => 5]]], 'a/b/c');
// $output == 5

$output = Arrays::getArrayPath(['a' => ['b' => ['c' => 5, 'd' => 6]]], 'a/b/c', 'a/b/d', 'a/b/e');
// $output == ['a/b/c' => 5, 'a/b/d' => 6, 'a/b/e' => null];

$output = Arrays::getRandom(['a', 'b', 'c']);
// $output == 'c'

$output = Arrays::range(1, 5);
// $output == [1, 2, 3, 4, 5]

$output = Arrays::sortByKey([
    ['i' => 5],
    ['i' => 2],
    ['i' => 4]
], 'i');
// $output == [['i' => 2], ['i' => 4], ['i' => 5]]

$output = Arrays::categorize([
    ['t' => 'a', 'i' => 5],
    ['t' => 'b', 'i' => 2],
    ['t' => 'a', 'i' => 4]
], 't');
// $output == [
//     'a' => [['t' => 'a', 'i' => 5], ['t' => 'a', 'i' => 4]],
//     'b' => [['t' => 'b', 'i' => 2]],
// ]

$output = Arrays::assignKeys([
    ['i' => 5],
    ['i' => 2],
    ['i' => 4]
], 'i');
// $output == [5 => ['i' => 5], 2 => ['i' => 2], 4 => ['i' => 4]]

$output = Arrays::column([
    ['i' => 5],
    ['i' => 2],
    ['i' => 4]
], 'i');
// $output == [5, 2, 4]

$output = Arrays::columns([
    ['i' => 5, 'j' => 6, 'k' => 7],
    ['i' => 2, 'j' => 3, 'k' => 4],
    ['i' => 4, 'j' => 5, 'k' => 6]
], 'i', 'k');
// $output == [
//     ['i' => 5, 'k' => 7],
//     ['i' => 2, 'k' => 4],
//     ['i' => 4, 'k' => 6]
// ]

$output = Arrays::getRow([
    ['i' => 5, 'j' => 6, 'k' => 7],
    ['i' => 2, 'j' => 3, 'k' => 4],
    ['i' => 5, 'j' => 5, 'k' => 6]
], 'i', 5);
// $output == ['i' => 5, 'j' => 6, 'k' => 7]

$output = Arrays::getRowKey([
    'a' => ['i' => 5, 'j' => 6, 'k' => 7],
    'b' => ['i' => 2, 'j' => 3, 'k' => 4],
    'c' => ['i' => 5, 'j' => 5, 'k' => 6]
], 'i', 5);
// $output == 'a'

$output = Arrays::getRows([
    ['i' => 5, 'j' => 6, 'k' => 7],
    ['i' => 2, 'j' => 3, 'k' => 4],
    ['i' => 5, 'j' => 5, 'k' => 6]
], 'i', 5);
// $output == [
//     ['i' => 5, 'j' => 6, 'k' => 7],
//     ['i' => 5, 'j' => 5, 'k' => 6]
// ]

$output = Arrays::getRowsBut([
    ['i' => 5, 'j' => 6, 'k' => 7],
    ['i' => 2, 'j' => 3, 'k' => 4],
    ['i' => 5, 'j' => 5, 'k' => 6]
], 'i', 5);
// $output == [
//     ['i' => 2, 'j' => 3, 'k' => 4]
// ]

$output = Arrays::combine(
    ['a', 'b', 'c'],
    [1, 2]
);
// $output == ['a' => 1, 'b' => 2, 'c' => null]

$output = Arrays::sortByPriority([
    'second' => 221,
    'forth' => 444,
    'third' => 727,
    'first' => 878
], ['first', 'second']);
// $output == ['first' => 878, 'second' => 221, 'forth' => 444, 'third' => 727]

字符串

use Scabbia\Helpers\String;

$output = String::getEncoding();
// $output == 'utf8'

$output = String::coalesce($_GET['x'], '5');
// $output == '5'

$output = String::prefixLines("line 1\nline 2", '- ');
// $output == "- line 1\n- line 2"

$output = String::filter('1', String::FILTER_SANITIZE_BOOLEAN);
// $output == true

$output = String::format('value: {val}', ['val' => 5]);
// $output == 'value: 5'

String::vardump($_GLOBALS);
// echoes all globals in html format

$output = String::hash('scabbia test');
// $output == <hex encoded strong crc hash>

$output = String::generatePassword(5);
// $output == 'trawr'

$output = String::generateUuid();
// $output == '644e1dd7-2a7f-18fb-b8ed-ed78c3f92c2b'

$output = String::generate(6, 'abcdef');
// $output == 'efdabb'

$output = String::xss('<alert="test');
// $output == '&#60;alert=&#34;test'

$output = String::strip('eser', 'er');
// $output == 'eer';

$output = String::squote('test\'ed');
// $output == 'test\\\'ed'

$output = String::dquote('scabbia "php" components', true);
// $output == '"scabbia \"php\" components"'

$output = String::replaceBreaks("eser\nozvataf", '<br />');
// $output == 'eser<br />ozvataf'

$output = String::cut('testing', 4, '...');
// $output == 'test...'

$output = String::encodeHtml('<strong>eser & ozvataf</strong>');
// $output == '&lt;strong&gt;eser &amp; ozvataf&lt;/strong&gt;'

$output = String::decodeHtml('&lt;strong&gt;eser &amp; ozvataf&lt;/strong&gt;');
// $output == '<strong>eser & ozvataf</strong>'

$output = String::toLower('ESER ÖZVATAF');
// $output == 'eser özvataf'

$output = String::toUpper('eser özvataf');
// $output == 'ESER ÖZVATAF'

$output = String::capitalize('eser özvataf');
// $output == 'Eser özvataf'

$output = String::capitalizeWords('eser özvataf');
// $output == 'Eser Özvataf'

$output = String::length('eser özvataf');
// $output == 12

$output = String::startsWith('eser özvataf', 'eser');
// $output == true

$output = String::endsWith('eser özvataf', 'özvataf');
// $output == true

$output = String::substr('eser özvataf', 2, 2);
// $output == 'er'

$output = String::strpos('eser özvataf', 'er');
// $output == 2

$output = String::strstr('eser@ozvataf.com', '@');
// $output == '@ozvataf.com'

$output = String::sizeCalc(2048);
// $output == '2K'

$output = String::quantityCalc(5000000);
// $output == '5M'

$output = String::timeCalc(120);
// $output == '2m'

$output = String::removeAccent('eser özvataf');
// $output == 'eser ozvataf'

$output = String::removeInvisibles("eser\0 özvataf");
// $output == 'eser özvataf'

$output = String::slug("eser\0 özvataf");
// $output == 'eser-ozvataf'

$output = String::ordinalize(3);
// $output == '3rd'

$output = String::sanitizeFilename('eser*d.txt');
// $output == 'eser_d.txt'

$output = String::matchPaths(['/src', '/tests'], '\\tests\\notCompleted');
// $output == true

$output = String::convertLinks('my homepage is http://eser.ozvataf.com/', function ($url) { return '[' . $url . '](' . $url . ')'; });
// $output == 'my homepage is [http://eser.ozvataf.com/](http://eser.ozvataf.com/)'

链接

贡献

对任何贡献都公开开放。欢迎修复错误、添加新功能和额外模块。所有贡献都应提交到 eserozvataf/scabbia2-helpers 存储库。

  • 要贡献代码:Fork 仓库,将您的更改推送到您的分支,并提交拉取请求。
  • 要报告错误:如果某些功能无法正常工作,请使用 GitHub 问题进行报告。
  • 要支持:Donate