jitsu/wrap

提供链式方法的字符串、数组和正则表达式的包装类

0.1.2 2016-05-07 08:07 UTC

This package is auto-updated.

Last update: 2024-09-11 18:05:46 UTC


README

此包包含PHP字符串、数组和正则表达式(分别对应 Jitsu\XStringJitsu\XArrayJitsu\XRegex)的面向对象包装类。这些类简单地在 jitsu/stringjitsu/arrayjitsu/regex 包的函数基础上进行扩展,提供面向对象接口访问静态方法。面向对象版本会自动解包其参数和打包其返回值。

此包是 Jitsu 的一部分。

安装

使用 Composer 安装此包

composer require jitsu/wrap

命名空间

所有类都定义在命名空间 Jitsu 下。

使用

以下是一个快速示例,说明此包的极大实用性

use Jitsu\XArray;
use Jitsu\XString;

// Wisdom from the ancient Romans?
$s = new XString('Repus Terces Egassem');

// Maybe not...
echo $s->split()->map(function($s) {
	return (new XString($s))->lowerFirst()->reverse()->capitalize();
})->join(' '), "\n";
// => Super Secret Message

API

class Jitsu\XString

string 类的面向对象包装。

请参阅 jitsu/string

new XString($value = '')

$x_string->__toString()

XString::unwrap($x)

$x_string->length()

$x_string->size()

$x_string->isEmpty()

$x_string->equal($that)

$x_string->iEqual($that)

$x_string->chars()

$x_string->chunks($n)

$x_string->split($delim = null, $limit = null)

$x_string->tokenize($chars)

$x_string->join($strs = null)

$x_string->trim($chars = null)

$x_string->rtrim($chars = null)

$x_string->ltrim($chars = null)

$x_string->lower()

$x_string->upper()

$x_string->lcfirst()

$x_string->lowerFirst()

$x_string->ucfirst()

$x_string->upperFirst()

$x_string->ucwords()

$x_string->capitalize()

$x_string->capitalizeWords()

$x_string->replace($old, $new)

$x_string->replaceAndCount($old, $new)

$x_string->iReplace($old, $new)

$x_string->iReplaceAndCount($old, $new)

$x_string->replaceMultiple($pairs)

$x_string->translate($old, $new)

$x_string->substring($offset, $length = null)

$x_string->replaceSubstring($new, $offset, $length = null)

$x_string->slice($i, $j = null)

$x_string->replaceSlice($new, $i, $j = null)

$x_string->insert($new, $offset)

$x_string->pad($n, $pad = ' ')

$x_string->lpad($n, $pad = ' ')

$x_string->rpad($n, $pad = ' ')

$x_string->wrap($cols, $sep = "\n")

$x_string->repeat($n)

$x_string->reverse()

$x_string->startingWith($substr)

$x_string->iStartingWith($substr)

$x_string->rStartingWith($char)

$x_string->startingWithChars($chars)

$x_string->preceding($substr)

$x_string->iPreceding($substr)

$x_string->words($chars = null)

$x_string->wordCount($chars = null)

$x_string->findWords($chars = null)

$x_string->wordWrap($width, $sep = "\n")

$x_string->compare($that)

$x_string->iCompare($that)

$x_string->nCompare($that, $n)

$x_string->inCompare($that, $n)

$x_string->localeCompare($that)

$x_string->humanCompare($that)

$x_string->iHumanCompare($that)

$x_string->substringCompare($that, $offset, $length)

$x_string->iSubstringCompare($that, $offset, $length)

$x_string->contains($substr, $offset = 0)

$x_string->iContains($substr, $offset = 0)

$x_string->containsChars($chars)

$x_string->containsChar($char)

$x_string->beginsWith($prefix)

$x_string->iBeginsWith($prefix)

$x_string->endsWith($suffix)

$x_string->iEndsWith($suffix)

$x_string->removePrefix($prefix)

$x_string->iRemovePrefix($prefix)

$x_string->removeSuffix($suffix)

$x_string->iRemoveSuffix($suffix)

$x_string->find($substr, $offset = 0)

$x_string->iFind($substr, $offset = 0)

$x_string->rFind($substr, $offset = 0)

$x_string->before($substr)

$x_string->after($substr)

$x_string->isLower()

$x_string->isUpper()

$x_string->isAlphanumeric()

$x_string->isAlphabetic()

$x_string->isControl()

$x_string->isDecimal()

$x_string->isHex()

$x_string->isVisible()

$x_string->isPrintable()

$x_string->isPunctuation()

$x_string->isWhitespace()

$x_string->count($substr, $offset = 0, $length = null)

$x_string->characterRun($chars, $begin = 0, $end = null)

$x_string->escapeCString()

$x_string->unescapeCString()

$x_string->escapePhpString()

$x_string->unescapeBackslashes()

$x_string->parseInt($base = null)

$x_string->parseReal()

$x_string->encodeHex()

$x_string->decodeHex()

$x_string->encodeBase64()

$x_string->decodeBase64()

XString::fromAscii($n)

XString::chr($n)

$x_string->toAscii()

$x_string->ord()

$x_string->byteCounts()

$x_string->unique()

$x_string->unusedBytes()

$x_string->encodeHtml($noquote = false)

$x_string->escapeHtml($noquote = false)

$x_string->unencodeHtml()

XString::encodeHtmlDict($noquote = false)

$x_string->encodeHtmlEntities()

XString::encodeHtmlEntitiesDict()

$x_string->stripTags()

$x_string->parseRawQueryString()

XString::encodeStandardQueryString($data, $sep = '&')

XString::encodeQueryString($data, $sep = '&')

$x_string->encodeStandardUrl()

$x_string->decodeStandardUrl()

$x_string->encodeUrl()

$x_string->decodeUrl()

$x_string->parseCsv($delim = ',', $quote = '"', $escape = '\\')

$x_string->md5()

$x_string->md5Hex()

$x_string->sha1()

$x_string->sha1Hex()

$x_string->rot13()

$x_string->shuffle()

$x_string->formatMoney()

XString::formatNumber($number, $decimals = 0, $decimal_point = '.', $thousands_sep = ',')

$x_string->levenshtein($that, $ins = null, $repl = null, $del = null)

$x_string->splitCamelCase()

$x_string->pluralize()

XString::capture($callback)

class Jitsu\XArray

面向对象包装类,用于处理 array 类型。

详见 jitsu/array.

new XArray($value = array())

$x_array->__toString()

$x_array->count()

$x_array->getIterator()

$x_array->offsetExists($offset)

$x_array->offsetGet($offset)

$x_array->offsetSet($offset, $value)

$x_array->offsetUnset($offset)

XArray::unwrap($x)

$x_array->join($str = '')

$x_array->size()

$x_array->length()

$x_array->isEmpty()

$x_array->get($key, $default = null)

$x_array->getRef($key, $default = null)

$x_array->hasKey($key)

XArray::normalizeKey($k)

$x_array->remove($key)

$x_array->keys()

$x_array->values()

$x_array->listValues($keys, $default = null)

$x_array->requireValues($keys)

$x_array->first()

$x_array->last()

$x_array->append($value)

$x_array->appendMany($values)

$x_array->concat($array)

$x_array->push($value)

$x_array->pop()

$x_array->shift()

$x_array->unshift($value)

$x_array->keyOf($value)

$x_array->indexOf($value)

$x_array->keysOf($value)

$x_array->contains($value)

$x_array->at($i)

$x_array->pairAt($i)

$x_array->keyAt($i)

$x_array->slice($i, $j = null)

$x_array->pairSlice($i, $j = null)

$x_array->assignSlice($sub, $i, $j = null)

$x_array->removeSlice($i, $j = null)

$x_array->reverse()

$x_array->reversePairs()

XArray::range($i, $j = null, $step = 1)

XArray::fromPairs($pairs)

XArray::fromLists($keys, $values)

$x_array->toSet($value = true)

XArray::fill($value, $n)

$x_array->pad($value, $n)

$x_array->pluck($key)

$x_array->pick($keys)

$x_array->getPick($keys, $default = null)

$x_array->invert()

$x_array->extend($array)

$x_array->deepExtend($array)

$x_array->chunks($n)

$x_array->map($callback)

$x_array->filter($callback = null)

$x_array->filterPairs($callback)

$x_array->sum()

$x_array->product()

$x_array->reduce($callback, $initial = null)

$x_array->apply($callback)

$x_array->traverseLeaves($callback)

$x_array->difference($array, $key_cmp = null, $value_cmp = true)

$x_array->pairDifference($array, $key_cmp = null, $value_cmp = null)

$x_array->keyDifference($array, $key_cmp = null)

$x_array->valueDifference($array, $value_cmp = null)

$x_array->pairIntersection($array, $key_cmp = null, $value_cmp = null)

$x_array->keyIntersection($array, $key_cmp = null)

$x_array->valueIntersection($array, $value_cmp = null)

$x_array->uniqueValues()

$x_array->hasOnlyKeys($keys, &$unexpected = null)

$x_array->hasKeys($keys, &$missing = null)

$x_array->hasExactKeys($keys, &$unexpected = null, &$missing = null)

$x_array->randomKey()

$x_array->randomValue()

$x_array->randomPair()

$x_array->randomKeys($n)

$x_array->shuffle()

$x_array->sort($value_cmp = null)

$x_array->reverseSort()

$x_array->localeSort()

$x_array->sortPairs($value_cmp = null)

$x_array->reverseSortPairs()

$x_array->sortKeys($key_cmp = null)

$x_array->reverseSortKeys()

$x_array->humanSortValues()

$x_array->iHumanSortValues()

$x_array->lowerKeys()

$x_array->upperKeys()

$x_array->isSequential()

$x_array->isAssociative()

$x_array->looksSequential()

$x_array->looksAssociative()

$x_array->countValues()

类 Jitsu\XRegex

PHP PCRE模式的面向对象包装器。

请参阅 jitsu/regex

new XRegex($arg, $flags = '', $start = null, $end = null)

$x_regex->__toString()

$x_regex->match($str, $offset = 0)

$x_regex->matchWithOffsets($str, $offset = 0)

$x_regex->matchAll($str, $offset = 0)

$x_regex->matchAllWithOffsets($str, $offset = 0)

XRegex::escape($str, $delim = null)

$x_regex->replace($str, $replacement, $limit = null)

$x_regex->replaceAndCount($str, $replacement, $limit = null)

$x_regex->replaceWith($str, $callback, $limit = null)

$x_regex->replaceAndCountWith($str, $callback, $limit = null)

$x_regex->replaceAndFilter($str, $replacement, $limit = null)

$x_regex->replaceAndFilterAndCount($str, $replacement, $limit = null)

$x_regex->grep($strs)

$x_regex->invertedGrep($strs)

$x_regex->split($str, $limit = null)

$x_regex->splitWithOffsets($str, $limit = null)

$x_regex->splitAndFilter($str, $limit = null)

$x_regex->splitAndFilterWithOffsets($str, $limit = null)

$x_regex->inclusiveSplit($str, $limit = null)

$x_regex->inclusiveSplitWithOffsets($str, $limit = null)