From 14d32d29f37ab3dd04afd48655f9ca18d97444e2 Mon Sep 17 00:00:00 2001 From: inhere Date: Sun, 22 Apr 2018 14:34:24 +0800 Subject: [PATCH 1/3] init --- .editorconfig | 17 +++++++++++++++++ .gitignore | 11 +++++++++++ LICENSE | 20 ++++++++++++++++++++ README.md | 38 ++++++++++++++++++++++++++++++++++++++ sami.doc.inc | 26 ++++++++++++++++++++++++++ 5 files changed, 112 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 sami.doc.inc diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5919005 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +root = true + +# 对所有文件生效 +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +# 对后缀名为 md 的文件生效 +[*.md] +trim_trailing_whitespace = false + +[*.php] +indent_size = 4 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a8a2f9a --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.idea/ +.phpintel/ +vendor/ +!README.md +!.gitkeep +composer.lock +*.swp +*.log +*.pid +*.patch +.DS_Store diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d839cdc --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2016 inhere + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..e44a7d4 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# toolkit for php + +## install + +```bash +composer require toolkit/toolkit +``` + +## development + +```bash +composer install +php toolkit dev -h +``` + +## git subtree + +- add a lib repo + +```bash +git subtree add --prefix=libs/php-utils https://github.com/php-toolkit/php-utils master --squash +``` + +- update a lib repo + +```bash +git subtree pull --prefix=libs/php-utils https://github.com/php-toolkit/php-utils master --squash +``` + +- push a lib repo + +```bash +git subtree push --prefix=libs/php-utils https://github.com/php-toolkit/php-utils master +``` + +## license + +MIT diff --git a/sami.doc.inc b/sami.doc.inc new file mode 100644 index 0000000..45d5f2d --- /dev/null +++ b/sami.doc.inc @@ -0,0 +1,26 @@ +files() + ->name('*.php') + ->notName('routes.php') + ->exclude(['test']) + ->in([ + __DIR__ . '/src/' + ]); + +$versions = GitVersionCollection::create(__DIR__); + +return new Sami($iterator, [ + // 'theme' => 'enhanced', + // 'versions' => $versions, + 'title' => 'Php Toolkit Classes Documentation', + 'build_dir' => __DIR__ . '/classes-docs/%version%', + 'cache_dir' => __DIR__ . '/caches/%version%', + 'default_opened_level' => 1, + // 'store' => new MyArrayStore, +]); From 90798a5d0ed7bbce8891a5be97a08e9c848906a0 Mon Sep 17 00:00:00 2001 From: inhere Date: Sun, 22 Apr 2018 14:35:19 +0800 Subject: [PATCH 2/3] add classes ref docs --- .gitignore | 1 + classes-docs/master/PROJECT_VERSION | 1 + classes-docs/master/SAMI_VERSION | 1 + classes-docs/master/Toolkit.html | 94 + classes-docs/master/Toolkit/ArrUtil.html | 123 + classes-docs/master/Toolkit/ArrUtil/Arr.html | 2454 ++++++++++++++ .../master/Toolkit/ArrUtil/ArrayHelper.html | 2453 ++++++++++++++ .../master/Toolkit/ArrUtil/AryBuffer.html | 543 +++ classes-docs/master/Toolkit/Collection.html | 184 + .../master/Toolkit/Collection/ActiveData.html | 772 +++++ .../master/Toolkit/Collection/Collection.html | 2603 ++++++++++++++ .../Collection/CollectionInterface.html | 414 +++ .../Toolkit/Collection/Configuration.html | 2981 +++++++++++++++++ .../master/Toolkit/Collection/FixedArray.html | 856 +++++ .../Toolkit/Collection/JsonMessage.html | 792 +++++ .../master/Toolkit/Collection/Language.html | 2369 +++++++++++++ .../Toolkit/Collection/LiteCollection.html | 746 +++++ .../Toolkit/Collection/SimpleCollection.html | 1467 ++++++++ classes-docs/master/Toolkit/DI.html | 166 + .../master/Toolkit/DI/CallableResolver.html | 233 ++ .../DI/CallableResolverAwareTrait.html | 195 ++ classes-docs/master/Toolkit/DI/Container.html | 2276 +++++++++++++ classes-docs/master/Toolkit/DI/DIManager.html | 388 +++ classes-docs/master/Toolkit/DI/Exception.html | 113 + .../DependencyResolutionException.html | 104 + .../DI/Exception/NotFoundException.html | 104 + .../master/Toolkit/DI/NameAliasTrait.html | 369 ++ classes-docs/master/Toolkit/DI/Service.html | 621 ++++ .../Toolkit/DI/ServiceProviderInterface.html | 156 + classes-docs/master/Toolkit/DataParser.html | 153 + .../DataParser/DataParserAwareTrait.html | 194 ++ .../master/Toolkit/DataParser/JsonParser.html | 347 ++ .../Toolkit/DataParser/MsgPackParser.html | 254 ++ .../Toolkit/DataParser/ParserInterface.html | 213 ++ .../master/Toolkit/DataParser/PhpParser.html | 214 ++ .../Toolkit/DataParser/SwooleParser.html | 254 ++ classes-docs/master/Toolkit/Dev.html | 94 + classes-docs/master/Toolkit/Dev/Console.html | 104 + .../Toolkit/Dev/Console/DevController.html | 558 +++ classes-docs/master/Toolkit/FileUtil.html | 152 + .../master/Toolkit/FileUtil/Directory.html | 1797 ++++++++++ .../master/Toolkit/FileUtil/Exception.html | 135 + .../Exception/FileNotFoundException.html | 104 + .../FileUtil/Exception/FileReadException.html | 104 + .../Exception/FileSystemException.html | 104 + .../FileUtil/Exception/IOException.html | 104 + .../master/Toolkit/FileUtil/File.html | 2780 +++++++++++++++ .../master/Toolkit/FileUtil/FileFinder.html | 1442 ++++++++ .../master/Toolkit/FileUtil/FileSystem.html | 987 ++++++ .../Toolkit/FileUtil/ModifyWatcher.html | 861 +++++ .../master/Toolkit/FileUtil/ReadTrait.html | 796 +++++ classes-docs/master/Toolkit/ObjUtil.html | 127 + .../master/Toolkit/ObjUtil/Exception.html | 122 + .../Exception/GetPropertyException.html | 104 + .../ObjUtil/Exception/PropertyException.html | 104 + .../Exception/SetPropertyException.html | 104 + classes-docs/master/Toolkit/ObjUtil/Obj.html | 1166 +++++++ .../master/Toolkit/ObjUtil/ObjectHelper.html | 705 ++++ .../master/Toolkit/ObjUtil/ObjectStorage.html | 299 ++ .../master/Toolkit/ObjUtil/Traits.html | 149 + .../ArrayAccessByGetterSetterTrait.html | 320 ++ .../Traits/ArrayAccessByPropertyTrait.html | 320 ++ .../ObjUtil/Traits/ObjectPoolTrait.html | 414 +++ .../PropertyAccessByGetterSetterTrait.html | 325 ++ .../ObjUtil/Traits/SingletonTrait.html | 154 + .../ObjUtil/Traits/StdObjectTrait.html | 453 +++ classes-docs/master/Toolkit/PhpUtil.html | 149 + .../master/Toolkit/PhpUtil/AutoLoader.html | 861 +++++ classes-docs/master/Toolkit/PhpUtil/Php.html | 526 +++ .../master/Toolkit/PhpUtil/PhpEnv.html | 807 +++++ .../master/Toolkit/PhpUtil/PhpError.html | 232 ++ .../master/Toolkit/PhpUtil/PhpException.html | 361 ++ .../master/Toolkit/PhpUtil/PhpHelper.html | 526 +++ classes-docs/master/Toolkit/StrUtil.html | 159 + .../master/Toolkit/StrUtil/HtmlHelper.html | 742 ++++ classes-docs/master/Toolkit/StrUtil/Json.html | 467 +++ .../master/Toolkit/StrUtil/JsonHelper.html | 467 +++ classes-docs/master/Toolkit/StrUtil/Str.html | 1967 +++++++++++ .../master/Toolkit/StrUtil/StrBuffer.html | 463 +++ .../master/Toolkit/StrUtil/StringHelper.html | 1799 ++++++++++ .../master/Toolkit/StrUtil/UrlHelper.html | 541 +++ classes-docs/master/Toolkit/SysUtil.html | 131 + classes-docs/master/Toolkit/SysUtil/Cli.html | 866 +++++ .../master/Toolkit/SysUtil/ProcessUtil.html | 1517 +++++++++ classes-docs/master/Toolkit/SysUtil/Sys.html | 870 +++++ .../master/Toolkit/SysUtil/SysEnv.html | 518 +++ classes-docs/master/Toolkit/Util.html | 152 + .../master/Toolkit/Util/AopProxy.html | 803 +++++ .../master/Toolkit/Util/DataProxy.html | 588 ++++ .../master/Toolkit/Util/DataResult.html | 278 ++ .../master/Toolkit/Util/DeferredCallable.html | 214 ++ .../master/Toolkit/Util/PhpDotEnv.html | 267 ++ .../master/Toolkit/Util/Pipeline.html | 269 ++ classes-docs/master/Toolkit/Util/Traits.html | 105 + .../Util/Traits/AopProxyAwareTrait.html | 753 +++++ classes-docs/master/classes.html | 759 +++++ .../master/css/bootstrap-theme.min.css | 10 + classes-docs/master/css/bootstrap.min.css | 10 + classes-docs/master/css/sami.css | 459 +++ classes-docs/master/doc-index.html | 970 ++++++ .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 ++ .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes classes-docs/master/index.html | 106 + classes-docs/master/interfaces.html | 110 + classes-docs/master/js/bootstrap.min.js | 12 + classes-docs/master/js/jquery-1.11.1.min.js | 4 + classes-docs/master/js/typeahead.min.js | 6 + classes-docs/master/namespaces.html | 106 + classes-docs/master/opensearch.xml | 0 classes-docs/master/renderer.index | 1 + classes-docs/master/sami.js | 1030 ++++++ classes-docs/master/search.html | 154 + classes-docs/master/traits.html | 171 + sami.doc.inc | 4 +- 116 files changed, 61733 insertions(+), 2 deletions(-) create mode 100644 classes-docs/master/PROJECT_VERSION create mode 100644 classes-docs/master/SAMI_VERSION create mode 100644 classes-docs/master/Toolkit.html create mode 100644 classes-docs/master/Toolkit/ArrUtil.html create mode 100644 classes-docs/master/Toolkit/ArrUtil/Arr.html create mode 100644 classes-docs/master/Toolkit/ArrUtil/ArrayHelper.html create mode 100644 classes-docs/master/Toolkit/ArrUtil/AryBuffer.html create mode 100644 classes-docs/master/Toolkit/Collection.html create mode 100644 classes-docs/master/Toolkit/Collection/ActiveData.html create mode 100644 classes-docs/master/Toolkit/Collection/Collection.html create mode 100644 classes-docs/master/Toolkit/Collection/CollectionInterface.html create mode 100644 classes-docs/master/Toolkit/Collection/Configuration.html create mode 100644 classes-docs/master/Toolkit/Collection/FixedArray.html create mode 100644 classes-docs/master/Toolkit/Collection/JsonMessage.html create mode 100644 classes-docs/master/Toolkit/Collection/Language.html create mode 100644 classes-docs/master/Toolkit/Collection/LiteCollection.html create mode 100644 classes-docs/master/Toolkit/Collection/SimpleCollection.html create mode 100644 classes-docs/master/Toolkit/DI.html create mode 100644 classes-docs/master/Toolkit/DI/CallableResolver.html create mode 100644 classes-docs/master/Toolkit/DI/CallableResolverAwareTrait.html create mode 100644 classes-docs/master/Toolkit/DI/Container.html create mode 100644 classes-docs/master/Toolkit/DI/DIManager.html create mode 100644 classes-docs/master/Toolkit/DI/Exception.html create mode 100644 classes-docs/master/Toolkit/DI/Exception/DependencyResolutionException.html create mode 100644 classes-docs/master/Toolkit/DI/Exception/NotFoundException.html create mode 100644 classes-docs/master/Toolkit/DI/NameAliasTrait.html create mode 100644 classes-docs/master/Toolkit/DI/Service.html create mode 100644 classes-docs/master/Toolkit/DI/ServiceProviderInterface.html create mode 100644 classes-docs/master/Toolkit/DataParser.html create mode 100644 classes-docs/master/Toolkit/DataParser/DataParserAwareTrait.html create mode 100644 classes-docs/master/Toolkit/DataParser/JsonParser.html create mode 100644 classes-docs/master/Toolkit/DataParser/MsgPackParser.html create mode 100644 classes-docs/master/Toolkit/DataParser/ParserInterface.html create mode 100644 classes-docs/master/Toolkit/DataParser/PhpParser.html create mode 100644 classes-docs/master/Toolkit/DataParser/SwooleParser.html create mode 100644 classes-docs/master/Toolkit/Dev.html create mode 100644 classes-docs/master/Toolkit/Dev/Console.html create mode 100644 classes-docs/master/Toolkit/Dev/Console/DevController.html create mode 100644 classes-docs/master/Toolkit/FileUtil.html create mode 100644 classes-docs/master/Toolkit/FileUtil/Directory.html create mode 100644 classes-docs/master/Toolkit/FileUtil/Exception.html create mode 100644 classes-docs/master/Toolkit/FileUtil/Exception/FileNotFoundException.html create mode 100644 classes-docs/master/Toolkit/FileUtil/Exception/FileReadException.html create mode 100644 classes-docs/master/Toolkit/FileUtil/Exception/FileSystemException.html create mode 100644 classes-docs/master/Toolkit/FileUtil/Exception/IOException.html create mode 100644 classes-docs/master/Toolkit/FileUtil/File.html create mode 100644 classes-docs/master/Toolkit/FileUtil/FileFinder.html create mode 100644 classes-docs/master/Toolkit/FileUtil/FileSystem.html create mode 100644 classes-docs/master/Toolkit/FileUtil/ModifyWatcher.html create mode 100644 classes-docs/master/Toolkit/FileUtil/ReadTrait.html create mode 100644 classes-docs/master/Toolkit/ObjUtil.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Exception.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Exception/GetPropertyException.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Exception/PropertyException.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Exception/SetPropertyException.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Obj.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/ObjectHelper.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/ObjectStorage.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByGetterSetterTrait.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByPropertyTrait.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits/ObjectPoolTrait.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits/PropertyAccessByGetterSetterTrait.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits/SingletonTrait.html create mode 100644 classes-docs/master/Toolkit/ObjUtil/Traits/StdObjectTrait.html create mode 100644 classes-docs/master/Toolkit/PhpUtil.html create mode 100644 classes-docs/master/Toolkit/PhpUtil/AutoLoader.html create mode 100644 classes-docs/master/Toolkit/PhpUtil/Php.html create mode 100644 classes-docs/master/Toolkit/PhpUtil/PhpEnv.html create mode 100644 classes-docs/master/Toolkit/PhpUtil/PhpError.html create mode 100644 classes-docs/master/Toolkit/PhpUtil/PhpException.html create mode 100644 classes-docs/master/Toolkit/PhpUtil/PhpHelper.html create mode 100644 classes-docs/master/Toolkit/StrUtil.html create mode 100644 classes-docs/master/Toolkit/StrUtil/HtmlHelper.html create mode 100644 classes-docs/master/Toolkit/StrUtil/Json.html create mode 100644 classes-docs/master/Toolkit/StrUtil/JsonHelper.html create mode 100644 classes-docs/master/Toolkit/StrUtil/Str.html create mode 100644 classes-docs/master/Toolkit/StrUtil/StrBuffer.html create mode 100644 classes-docs/master/Toolkit/StrUtil/StringHelper.html create mode 100644 classes-docs/master/Toolkit/StrUtil/UrlHelper.html create mode 100644 classes-docs/master/Toolkit/SysUtil.html create mode 100644 classes-docs/master/Toolkit/SysUtil/Cli.html create mode 100644 classes-docs/master/Toolkit/SysUtil/ProcessUtil.html create mode 100644 classes-docs/master/Toolkit/SysUtil/Sys.html create mode 100644 classes-docs/master/Toolkit/SysUtil/SysEnv.html create mode 100644 classes-docs/master/Toolkit/Util.html create mode 100644 classes-docs/master/Toolkit/Util/AopProxy.html create mode 100644 classes-docs/master/Toolkit/Util/DataProxy.html create mode 100644 classes-docs/master/Toolkit/Util/DataResult.html create mode 100644 classes-docs/master/Toolkit/Util/DeferredCallable.html create mode 100644 classes-docs/master/Toolkit/Util/PhpDotEnv.html create mode 100644 classes-docs/master/Toolkit/Util/Pipeline.html create mode 100644 classes-docs/master/Toolkit/Util/Traits.html create mode 100644 classes-docs/master/Toolkit/Util/Traits/AopProxyAwareTrait.html create mode 100644 classes-docs/master/classes.html create mode 100644 classes-docs/master/css/bootstrap-theme.min.css create mode 100644 classes-docs/master/css/bootstrap.min.css create mode 100644 classes-docs/master/css/sami.css create mode 100644 classes-docs/master/doc-index.html create mode 100644 classes-docs/master/fonts/glyphicons-halflings-regular.eot create mode 100644 classes-docs/master/fonts/glyphicons-halflings-regular.svg create mode 100644 classes-docs/master/fonts/glyphicons-halflings-regular.ttf create mode 100644 classes-docs/master/fonts/glyphicons-halflings-regular.woff create mode 100644 classes-docs/master/index.html create mode 100644 classes-docs/master/interfaces.html create mode 100644 classes-docs/master/js/bootstrap.min.js create mode 100644 classes-docs/master/js/jquery-1.11.1.min.js create mode 100644 classes-docs/master/js/typeahead.min.js create mode 100644 classes-docs/master/namespaces.html create mode 100644 classes-docs/master/opensearch.xml create mode 100644 classes-docs/master/renderer.index create mode 100644 classes-docs/master/sami.js create mode 100644 classes-docs/master/search.html create mode 100644 classes-docs/master/traits.html diff --git a/.gitignore b/.gitignore index a8a2f9a..6720825 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .idea/ .phpintel/ vendor/ +caches/ !README.md !.gitkeep composer.lock diff --git a/classes-docs/master/PROJECT_VERSION b/classes-docs/master/PROJECT_VERSION new file mode 100644 index 0000000..8b25206 --- /dev/null +++ b/classes-docs/master/PROJECT_VERSION @@ -0,0 +1 @@ +master \ No newline at end of file diff --git a/classes-docs/master/SAMI_VERSION b/classes-docs/master/SAMI_VERSION new file mode 100644 index 0000000..fc28f8e --- /dev/null +++ b/classes-docs/master/SAMI_VERSION @@ -0,0 +1 @@ +4.0.14-DEV \ No newline at end of file diff --git a/classes-docs/master/Toolkit.html b/classes-docs/master/Toolkit.html new file mode 100644 index 0000000..7d30a5d --- /dev/null +++ b/classes-docs/master/Toolkit.html @@ -0,0 +1,94 @@ + + + + + + Toolkit | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+ +
+ + + diff --git a/classes-docs/master/Toolkit/ArrUtil.html b/classes-docs/master/Toolkit/ArrUtil.html new file mode 100644 index 0000000..cb39da3 --- /dev/null +++ b/classes-docs/master/Toolkit/ArrUtil.html @@ -0,0 +1,123 @@ + + + + + + Toolkit\ArrUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+
+ Arr + +
+
+ Class Arr + alias of the StringHelper +
+
+
+
+ ArrayHelper + +
+
+ Class ArrayHelper +
+
+
+
+ AryBuffer + +
+
+ Class ArrBuffer +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ArrUtil/Arr.html b/classes-docs/master/Toolkit/ArrUtil/Arr.html new file mode 100644 index 0000000..c3e77e7 --- /dev/null +++ b/classes-docs/master/Toolkit/ArrUtil/Arr.html @@ -0,0 +1,2454 @@ + + + + + + Toolkit\ArrUtil\Arr | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Arr extends ArrayHelper +

+ + + + +
+

Class Arr + alias of the StringHelper

+ + + + +

Methods

+ +
+
+
+ static bool +
+
+ accessible(mixed $value) + +

Determine whether the given value is array accessible.

+ +
+
+
+ static bool +
+
+ isAssoc(array $array) + +

Determines if an array is associative.

+ +
+
+
+ static Traversable +
+
+ toIterator(mixed $array) + +

No description

+
+ +
+
+
+ static mixed +
+
+ toObject(array|Traversable $array, string $class = \stdClass::class) + +

array data to object

+ +
+
+
+ static array +
+
+ gets(array $data, array $needKeys = [], bool|false $unsetKey = false) + +

Get Multi - 获取多个, 可以设置默认值

+ +
+
+
+ static array +
+
+ merge(array|null $src, array $new) + +

递归合并两个多维数组,后面的值将会递归覆盖原来的值

+ +
+
+
+ static array +
+
+ merge2(array ...$args) + +

递归合并多个多维数组,

+ +
+
+
+ static array|string +
+
+ valueTrim(array $data) + +

清理数组值的空白

+ +
+
+
+ static bool +
+
+ keyExists(int|string $key, array $arr) + +

不区分大小写检测数据键名是否存在

+ +
+
+
+ static array +
+
+ valueToLower(array $arr) + +

No description

+
+ +
+
+
+ static array +
+
+ valueToUpper(array $arr) + +

No description

+
+ +
+
+
+ static array +
+
+ changeValueCase(array $arr, int $toUpper = 1) + +

将数组中的值全部转为大写或小写

+ +
+
+
+ static bool +
+
+ valueExistsAll(string|array $check, array $sampleArr) + +

******* 检查 一个或多个值是否全部存在数组中 ******* +有一个不存在即返回 false

+ +
+
+
+ static bool +
+
+ valueExistsOne(string|array $check, array $sampleArr) + +

******* 检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+ +
+
+
+ static bool +
+
+ existsAll(string|array $need, array $arr, bool $type = false) + +

******* 不区分大小写,检查 一个或多个值是否 全存在数组中 ******* +有一个不存在即返回 false

+ +
+
+
+ static bool +
+
+ existsOne(string|array $need, array $arr, bool $type = false) + +

******* 不区分大小写,检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+ +
+
+
+ static int +
+
+ getKeyMaxWidth(array $data, bool $expectInt = true) + +

get key Max Width

+ +
+
+
+ static mixed +
+
+ getByPath(array|ArrayAccess $data, string $path, mixed $default = null, string $separator = '.') + +

Get data from array or object by path.

+ +
+
+
+ static  +
+
+ setByPath(array|ArrayAccess $data, string $path, mixed $value, string $separator = '.') + +

setByPath

+ +
+
+
+ static array +
+
+ collapse(array $array) + +

Collapse an array of arrays into a single array.

+ +
+
+
+ static array +
+
+ crossJoin(array ...$arrays) + +

Cross join the given arrays, returning all possible permutations.

+ +
+
+
+ static array +
+
+ divide(array $array) + +

Divide an array into two arrays. One with keys and the other with values.

+ +
+
+
+ static array +
+
+ dot(array $array, string $prepend = '') + +

Flatten a multi-dimensional associative array with dots.

+ +
+
+
+ static array +
+
+ except(array $array, array|string $keys) + +

Get all of the given array except for a specified array of items.

+ +
+
+
+ static bool +
+
+ exists(ArrayAccess|array $array, string|int $key) + +

Determine if the given key exists in the provided array.

+ +
+
+
+ static array +
+
+ add(array $array, string $key, mixed $value) + +

Add an element to an array using "dot" notation if it doesn't exist.

+ +
+
+
+ static mixed +
+
+ get(ArrayAccess|array $array, string $key, mixed $default = null) + +

Get an item from an array using "dot" notation.

+ +
+
+
+ static array +
+
+ set(array $array, string $key, mixed $value) + +

Set an array item to a given value using "dot" notation.

+ +
+
+
+ static array +
+
+ flatten(array $array, int $depth = INF) + +

Flatten a multi-dimensional array into a single level.

+ +
+
+
+ static void +
+
+ forget(array $array, array|string $keys) + +

Remove one or many array items from a given array using "dot" notation.

+ +
+
+
+ static bool +
+
+ has(ArrayAccess|array $array, string|array $keys) + +

Check if an item or items exist in an array using "dot" notation.

+ +
+
+
+ static array +
+
+ prepend(array $array, mixed $value, mixed $key = null) + +

Push an item onto the beginning of an array.

+ +
+
+
+ static mixed +
+
+ remove($arr, $key, $default = null) + +

remove the $key of the $arr, and return value.

+ +
+
+
+ static mixed +
+
+ pull(array $array, string $key, mixed $default = null) + +

Get a value from the array, and remove it.

+ +
+
+
+ static array +
+
+ only(array $array, array|string $keys) + +

Get a subset of the items from the given array.

+ +
+
+
+ static array +
+
+ shuffle(array $array) + +

Shuffle the given array and return the result.

+ +
+
+
+ static array +
+
+ where(array $array, callable $callback) + +

Filter the array using the given callback.

+ +
+
+
+ static array +
+
+ wrap(mixed $value) + +

If the given value is not an array, wrap it in one.

+ +
+
+
+ static string +
+
+ toString(array $array, int $length = 800, array|int $cycles = 6, bool $showKey = true, bool $addMark = false, string $separator = ', ', string $string = '') + +

array 递归 转换成 字符串

+ +
+
+
+ static  +
+
+ toStringNoKey($array, $length = 800, $cycles = 6, $showKey = false, $addMark = true, $separator = ', ') + +

No description

+
+ +
+
+
+ static mixed|null|string|string[] +
+
+ toFormatString(array $array, int $length = 400) + +

No description

+
+ +
+
+
+ static  +
+
+ toLimitOut($array) + +

No description

+
+ +
+
+ + +

Details

+ +
+
+

+
in ArrayHelper at line 25
+ static bool + accessible(mixed $value) + +

+
+ + + +
+

Determine whether the given value is array accessible.

+
+

Parameters

+ + + + + + + +
mixed$value
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 36
+ static bool + isAssoc(array $array) + +

+
+ + + +
+

Determines if an array is associative.

An array is "associative" if it doesn't have sequential numerical keys beginning with zero.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 47
+ static Traversable + toIterator(mixed $array) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$array
+ + +

Return Value

+ + + + + + +
Traversable
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 62
+ static mixed + toObject(array|Traversable $array, string $class = \stdClass::class) + +

+
+ + + +
+

array data to object

+
+

Parameters

+ + + + + + + + + + + + +
array|Traversable$array
string$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 91
+ static array + gets(array $data, array $needKeys = [], bool|false $unsetKey = false) + +

+
+ + + +
+

Get Multi - 获取多个, 可以设置默认值

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$dataarray data
array$needKeys$needKeys = [ + 'name', + 'password', + 'status' => '1' +]
bool|false$unsetKey
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 131
+ static array + merge(array|null $src, array $new) + +

+
+ + + +
+

递归合并两个多维数组,后面的值将会递归覆盖原来的值

+
+

Parameters

+ + + + + + + + + + + + +
array|null$src
array$new
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 165
+ static array + merge2(array ...$args) + +

+
+ + + +
+

递归合并多个多维数组,

+
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
arraythe merged array (the original arrays are not changed.)
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 197
+ static array|string + valueTrim(array $data) + +

+
+ + + +
+

清理数组值的空白

+
+

Parameters

+ + + + + + + +
array$data
+ + +

Return Value

+ + + + + + +
array|string
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 216
+ static bool + keyExists(int|string $key, array $arr) + +

+
+ + + +
+

不区分大小写检测数据键名是否存在

+
+

Parameters

+ + + + + + + + + + + + +
int|string$key
array$arr
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 225
+ static array + valueToLower(array $arr) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$arr
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 234
+ static array + valueToUpper(array $arr) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$arr
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 245
+ static array + changeValueCase(array $arr, int $toUpper = 1) + +

+
+ + + +
+

将数组中的值全部转为大写或小写

+
+

Parameters

+ + + + + + + + + + + + +
array$arr
int$toUpper1 值大写 0 值小写
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 270
+ static bool + valueExistsAll(string|array $check, array $sampleArr) + +

+
+ + + +
+

******* 检查 一个或多个值是否全部存在数组中 ******* +有一个不存在即返回 false

+
+

Parameters

+ + + + + + + + + + + + +
string|array$check
array$sampleArr只能检查一维数组 +注: 不分类型, 区分大小写 2 == '2' ‘a' != 'A'
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 288
+ static bool + valueExistsOne(string|array $check, array $sampleArr) + +

+
+ + + +
+

******* 检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+
+

Parameters

+ + + + + + + + + + + + +
string|array$check
array$sampleArr只能检查一维数组
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 307
+ static bool + existsAll(string|array $need, array $arr, bool $type = false) + +

+
+ + + +
+

******* 不区分大小写,检查 一个或多个值是否 全存在数组中 ******* +有一个不存在即返回 false

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$need
array$arr只能检查一维数组
bool$type是否同时验证类型
+ + +

Return Value

+ + + + + + +
bool| string 不存在的会返回 检查到的 字段,判断时 请使用 ArrHelper::existsAll($need,$arr)===true 来验证是否全存在
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 341
+ static bool + existsOne(string|array $need, array $arr, bool $type = false) + +

+
+ + + +
+

******* 不区分大小写,检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$need
array$arr只能检查一维数组
bool$type是否同时验证类型
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 378
+ static int + getKeyMaxWidth(array $data, bool $expectInt = true) + +

+
+ + + +
+

get key Max Width

+
+

Parameters

+ + + + + + + + + + + + +
array$data[ + 'key1' => 'value1', + 'key2-test' => 'value2', +]
bool$expectInt
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 403
+ static mixed + getByPath(array|ArrayAccess $data, string $path, mixed $default = null, string $separator = '.') + +

+
+ + + +
+

Get data from array or object by path.

Example: DataCollector::getByPath($array, 'foo.bar.yoo') equals to $array['foo']['bar']['yoo'].

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
array|ArrayAccess$dataAn array or object to get value.
string$pathThe key path.
mixed$default
string$separatorSeparator of paths.
+ + +

Return Value

+ + + + + + +
mixedFound value, null if not exists.
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 438
+ static + setByPath(array|ArrayAccess $data, string $path, mixed $value, string $separator = '.') + +

+
+ + + +
+

setByPath

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
array|ArrayAccess$data&$data
string$path
mixed$value
string$separator
+ + + + +
+
+ +
+
+

+
in ArrayHelper at line 478
+ static array + collapse(array $array) + +

+
+ + + +
+

Collapse an array of arrays into a single array.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 500
+ static array + crossJoin(array ...$arrays) + +

+
+ + + +
+

Cross join the given arrays, returning all possible permutations.

+
+

Parameters

+ + + + + + + +
array...$arrays
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 516
+ static array + divide(array $array) + +

+
+ + + +
+

Divide an array into two arrays. One with keys and the other with values.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 527
+ static array + dot(array $array, string $prepend = '') + +

+
+ + + +
+

Flatten a multi-dimensional associative array with dots.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
string$prepend
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 548
+ static array + except(array $array, array|string $keys) + +

+
+ + + +
+

Get all of the given array except for a specified array of items.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
array|string$keys
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 561
+ static bool + exists(ArrayAccess|array $array, string|int $key) + +

+
+ + + +
+

Determine if the given key exists in the provided array.

+
+

Parameters

+ + + + + + + + + + + + +
ArrayAccess|array$array
string|int$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 577
+ static array + add(array $array, string $key, mixed $value) + +

+
+ + + +
+

Add an element to an array using "dot" notation if it doesn't exist.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 593
+ static mixed + get(ArrayAccess|array $array, string $key, mixed $default = null) + +

+
+ + + +
+

Get an item from an array using "dot" notation.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
ArrayAccess|array$array
string$key
mixed$default
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 626
+ static array + set(array $array, string $key, mixed $value) + +

+
+ + + +
+

Set an array item to a given value using "dot" notation.

If no key is given to the method, the entire array will be replaced.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 657
+ static array + flatten(array $array, int $depth = INF) + +

+
+ + + +
+

Flatten a multi-dimensional array into a single level.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
int$depth
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 680
+ static void + forget(array $array, array|string $keys) + +

+
+ + + +
+

Remove one or many array items from a given array using "dot" notation.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
array|string$keys
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 722
+ static bool + has(ArrayAccess|array $array, string|array $keys) + +

+
+ + + +
+

Check if an item or items exist in an array using "dot" notation.

+
+

Parameters

+ + + + + + + + + + + + +
ArrayAccess|array$array
string|array$keys
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 765
+ static array + prepend(array $array, mixed $value, mixed $key = null) + +

+
+ + + +
+

Push an item onto the beginning of an array.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
mixed$value
mixed$key
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 783
+ static mixed + remove($arr, $key, $default = null) + +

+
+ + + +
+

remove the $key of the $arr, and return value.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$arr
$key
$default
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 802
+ static mixed + pull(array $array, string $key, mixed $default = null) + +

+
+ + + +
+

Get a value from the array, and remove it.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
string$key
mixed$default
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 817
+ static array + only(array $array, array|string $keys) + +

+
+ + + +
+

Get a subset of the items from the given array.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
array|string$keys
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 827
+ static array + shuffle(array $array) + +

+
+ + + +
+

Shuffle the given array and return the result.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 840
+ static array + where(array $array, callable $callback) + +

+
+ + + +
+

Filter the array using the given callback.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
callable$callback
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 850
+ static array + wrap(mixed $value) + +

+
+ + + +
+

If the given value is not an array, wrap it in one.

+
+

Parameters

+ + + + + + + +
mixed$value
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 870
+ static string + toString(array $array, int $length = 800, array|int $cycles = 6, bool $showKey = true, bool $addMark = false, string $separator = ', ', string $string = '') + +

+
+ + + +
+

array 递归 转换成 字符串

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
array$array[大于1200字符 strlen($string)>1200
int$length
array|int$cycles[至多循环六次 $num >= 6
bool$showKey
bool$addMark
string$separator
string$string
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 916
+ static + toStringNoKey($array, $length = 800, $cycles = 6, $showKey = false, $addMark = true, $separator = ', ') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$array
$length
$cycles
$showKey
$addMark
$separator
+ + + + +
+
+ +
+
+

+
in ArrayHelper at line 932
+ static mixed|null|string|string[] + toFormatString(array $array, int $length = 400) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
array$array
int$length
+ + +

Return Value

+ + + + + + +
mixed|null|string|string[]
+ + + +
+
+ +
+
+

+
in ArrayHelper at line 949
+ static + toLimitOut($array) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$array
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ArrUtil/ArrayHelper.html b/classes-docs/master/Toolkit/ArrUtil/ArrayHelper.html new file mode 100644 index 0000000..80db202 --- /dev/null +++ b/classes-docs/master/Toolkit/ArrUtil/ArrayHelper.html @@ -0,0 +1,2453 @@ + + + + + + Toolkit\ArrUtil\ArrayHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + ArrayHelper +

+ + + + +
+

Class ArrayHelper

+ + + + +

Methods

+ +
+
+
+ static bool +
+
+ accessible(mixed $value) + +

Determine whether the given value is array accessible.

+
+
+
+
+ static bool +
+
+ isAssoc(array $array) + +

Determines if an array is associative.

+
+
+
+
+ static Traversable +
+
+ toIterator(mixed $array) + +

No description

+
+
+
+
+
+ static mixed +
+
+ toObject(array|Traversable $array, string $class = \stdClass::class) + +

array data to object

+
+
+
+
+ static array +
+
+ gets(array $data, array $needKeys = [], bool|false $unsetKey = false) + +

Get Multi - 获取多个, 可以设置默认值

+
+
+
+
+ static array +
+
+ merge(array|null $src, array $new) + +

递归合并两个多维数组,后面的值将会递归覆盖原来的值

+
+
+
+
+ static array +
+
+ merge2(array ...$args) + +

递归合并多个多维数组,

+
+
+
+
+ static array|string +
+
+ valueTrim(array $data) + +

清理数组值的空白

+
+
+
+
+ static bool +
+
+ keyExists(int|string $key, array $arr) + +

不区分大小写检测数据键名是否存在

+
+
+
+
+ static array +
+
+ valueToLower(array $arr) + +

No description

+
+
+
+
+
+ static array +
+
+ valueToUpper(array $arr) + +

No description

+
+
+
+
+
+ static array +
+
+ changeValueCase(array $arr, int $toUpper = 1) + +

将数组中的值全部转为大写或小写

+
+
+
+
+ static bool +
+
+ valueExistsAll(string|array $check, array $sampleArr) + +

******* 检查 一个或多个值是否全部存在数组中 ******* +有一个不存在即返回 false

+
+
+
+
+ static bool +
+
+ valueExistsOne(string|array $check, array $sampleArr) + +

******* 检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+
+
+
+
+ static bool +
+
+ existsAll(string|array $need, array $arr, bool $type = false) + +

******* 不区分大小写,检查 一个或多个值是否 全存在数组中 ******* +有一个不存在即返回 false

+
+
+
+
+ static bool +
+
+ existsOne(string|array $need, array $arr, bool $type = false) + +

******* 不区分大小写,检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+
+
+
+
+ static int +
+
+ getKeyMaxWidth(array $data, bool $expectInt = true) + +

get key Max Width

+
+
+
+
+ static mixed +
+
+ getByPath(array|ArrayAccess $data, string $path, mixed $default = null, string $separator = '.') + +

Get data from array or object by path.

+
+
+
+
+ static  +
+
+ setByPath(array|ArrayAccess $data, string $path, mixed $value, string $separator = '.') + +

setByPath

+
+
+
+
+ static array +
+
+ collapse(array $array) + +

Collapse an array of arrays into a single array.

+
+
+
+
+ static array +
+
+ crossJoin(array ...$arrays) + +

Cross join the given arrays, returning all possible permutations.

+
+
+
+
+ static array +
+
+ divide(array $array) + +

Divide an array into two arrays. One with keys and the other with values.

+
+
+
+
+ static array +
+
+ dot(array $array, string $prepend = '') + +

Flatten a multi-dimensional associative array with dots.

+
+
+
+
+ static array +
+
+ except(array $array, array|string $keys) + +

Get all of the given array except for a specified array of items.

+
+
+
+
+ static bool +
+
+ exists(ArrayAccess|array $array, string|int $key) + +

Determine if the given key exists in the provided array.

+
+
+
+
+ static array +
+
+ add(array $array, string $key, mixed $value) + +

Add an element to an array using "dot" notation if it doesn't exist.

+
+
+
+
+ static mixed +
+
+ get(ArrayAccess|array $array, string $key, mixed $default = null) + +

Get an item from an array using "dot" notation.

+
+
+
+
+ static array +
+
+ set(array $array, string $key, mixed $value) + +

Set an array item to a given value using "dot" notation.

+
+
+
+
+ static array +
+
+ flatten(array $array, int $depth = INF) + +

Flatten a multi-dimensional array into a single level.

+
+
+
+
+ static void +
+
+ forget(array $array, array|string $keys) + +

Remove one or many array items from a given array using "dot" notation.

+
+
+
+
+ static bool +
+
+ has(ArrayAccess|array $array, string|array $keys) + +

Check if an item or items exist in an array using "dot" notation.

+
+
+
+
+ static array +
+
+ prepend(array $array, mixed $value, mixed $key = null) + +

Push an item onto the beginning of an array.

+
+
+
+
+ static mixed +
+
+ remove($arr, $key, $default = null) + +

remove the $key of the $arr, and return value.

+
+
+
+
+ static mixed +
+
+ pull(array $array, string $key, mixed $default = null) + +

Get a value from the array, and remove it.

+
+
+
+
+ static array +
+
+ only(array $array, array|string $keys) + +

Get a subset of the items from the given array.

+
+
+
+
+ static array +
+
+ shuffle(array $array) + +

Shuffle the given array and return the result.

+
+
+
+
+ static array +
+
+ where(array $array, callable $callback) + +

Filter the array using the given callback.

+
+
+
+
+ static array +
+
+ wrap(mixed $value) + +

If the given value is not an array, wrap it in one.

+
+
+
+
+ static string +
+
+ toString(array $array, int $length = 800, array|int $cycles = 6, bool $showKey = true, bool $addMark = false, string $separator = ', ', string $string = '') + +

array 递归 转换成 字符串

+
+
+
+
+ static  +
+
+ toStringNoKey($array, $length = 800, $cycles = 6, $showKey = false, $addMark = true, $separator = ', ') + +

No description

+
+
+
+
+
+ static mixed|null|string|string[] +
+
+ toFormatString(array $array, int $length = 400) + +

No description

+
+
+
+
+
+ static  +
+
+ toLimitOut($array) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 25
+ static bool + accessible(mixed $value) + +

+
+ + + +
+

Determine whether the given value is array accessible.

+
+

Parameters

+ + + + + + + +
mixed$value
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 36
+ static bool + isAssoc(array $array) + +

+
+ + + +
+

Determines if an array is associative.

An array is "associative" if it doesn't have sequential numerical keys beginning with zero.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 47
+ static Traversable + toIterator(mixed $array) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$array
+ + +

Return Value

+ + + + + + +
Traversable
+ + + +
+
+ +
+
+

+
at line 62
+ static mixed + toObject(array|Traversable $array, string $class = \stdClass::class) + +

+
+ + + +
+

array data to object

+
+

Parameters

+ + + + + + + + + + + + +
array|Traversable$array
string$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 91
+ static array + gets(array $data, array $needKeys = [], bool|false $unsetKey = false) + +

+
+ + + +
+

Get Multi - 获取多个, 可以设置默认值

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$dataarray data
array$needKeys$needKeys = [ + 'name', + 'password', + 'status' => '1' +]
bool|false$unsetKey
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 131
+ static array + merge(array|null $src, array $new) + +

+
+ + + +
+

递归合并两个多维数组,后面的值将会递归覆盖原来的值

+
+

Parameters

+ + + + + + + + + + + + +
array|null$src
array$new
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 165
+ static array + merge2(array ...$args) + +

+
+ + + +
+

递归合并多个多维数组,

+
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
arraythe merged array (the original arrays are not changed.)
+ + + +
+
+ +
+
+

+
at line 197
+ static array|string + valueTrim(array $data) + +

+
+ + + +
+

清理数组值的空白

+
+

Parameters

+ + + + + + + +
array$data
+ + +

Return Value

+ + + + + + +
array|string
+ + + +
+
+ +
+
+

+
at line 216
+ static bool + keyExists(int|string $key, array $arr) + +

+
+ + + +
+

不区分大小写检测数据键名是否存在

+
+

Parameters

+ + + + + + + + + + + + +
int|string$key
array$arr
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 225
+ static array + valueToLower(array $arr) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$arr
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 234
+ static array + valueToUpper(array $arr) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$arr
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 245
+ static array + changeValueCase(array $arr, int $toUpper = 1) + +

+
+ + + +
+

将数组中的值全部转为大写或小写

+
+

Parameters

+ + + + + + + + + + + + +
array$arr
int$toUpper1 值大写 0 值小写
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 270
+ static bool + valueExistsAll(string|array $check, array $sampleArr) + +

+
+ + + +
+

******* 检查 一个或多个值是否全部存在数组中 ******* +有一个不存在即返回 false

+
+

Parameters

+ + + + + + + + + + + + +
string|array$check
array$sampleArr只能检查一维数组 +注: 不分类型, 区分大小写 2 == '2' ‘a' != 'A'
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 288
+ static bool + valueExistsOne(string|array $check, array $sampleArr) + +

+
+ + + +
+

******* 检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+
+

Parameters

+ + + + + + + + + + + + +
string|array$check
array$sampleArr只能检查一维数组
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 307
+ static bool + existsAll(string|array $need, array $arr, bool $type = false) + +

+
+ + + +
+

******* 不区分大小写,检查 一个或多个值是否 全存在数组中 ******* +有一个不存在即返回 false

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$need
array$arr只能检查一维数组
bool$type是否同时验证类型
+ + +

Return Value

+ + + + + + +
bool| string 不存在的会返回 检查到的 字段,判断时 请使用 ArrHelper::existsAll($need,$arr)===true 来验证是否全存在
+ + + +
+
+ +
+
+

+
at line 341
+ static bool + existsOne(string|array $need, array $arr, bool $type = false) + +

+
+ + + +
+

******* 不区分大小写,检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array$need
array$arr只能检查一维数组
bool$type是否同时验证类型
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 378
+ static int + getKeyMaxWidth(array $data, bool $expectInt = true) + +

+
+ + + +
+

get key Max Width

+
+

Parameters

+ + + + + + + + + + + + +
array$data[ + 'key1' => 'value1', + 'key2-test' => 'value2', +]
bool$expectInt
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 403
+ static mixed + getByPath(array|ArrayAccess $data, string $path, mixed $default = null, string $separator = '.') + +

+
+ + + +
+

Get data from array or object by path.

Example: DataCollector::getByPath($array, 'foo.bar.yoo') equals to $array['foo']['bar']['yoo'].

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
array|ArrayAccess$dataAn array or object to get value.
string$pathThe key path.
mixed$default
string$separatorSeparator of paths.
+ + +

Return Value

+ + + + + + +
mixedFound value, null if not exists.
+ + + +
+
+ +
+
+

+
at line 438
+ static + setByPath(array|ArrayAccess $data, string $path, mixed $value, string $separator = '.') + +

+
+ + + +
+

setByPath

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
array|ArrayAccess$data&$data
string$path
mixed$value
string$separator
+ + + + +
+
+ +
+
+

+
at line 478
+ static array + collapse(array $array) + +

+
+ + + +
+

Collapse an array of arrays into a single array.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 500
+ static array + crossJoin(array ...$arrays) + +

+
+ + + +
+

Cross join the given arrays, returning all possible permutations.

+
+

Parameters

+ + + + + + + +
array...$arrays
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 516
+ static array + divide(array $array) + +

+
+ + + +
+

Divide an array into two arrays. One with keys and the other with values.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 527
+ static array + dot(array $array, string $prepend = '') + +

+
+ + + +
+

Flatten a multi-dimensional associative array with dots.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
string$prepend
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 548
+ static array + except(array $array, array|string $keys) + +

+
+ + + +
+

Get all of the given array except for a specified array of items.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
array|string$keys
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 561
+ static bool + exists(ArrayAccess|array $array, string|int $key) + +

+
+ + + +
+

Determine if the given key exists in the provided array.

+
+

Parameters

+ + + + + + + + + + + + +
ArrayAccess|array$array
string|int$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 577
+ static array + add(array $array, string $key, mixed $value) + +

+
+ + + +
+

Add an element to an array using "dot" notation if it doesn't exist.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 593
+ static mixed + get(ArrayAccess|array $array, string $key, mixed $default = null) + +

+
+ + + +
+

Get an item from an array using "dot" notation.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
ArrayAccess|array$array
string$key
mixed$default
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 626
+ static array + set(array $array, string $key, mixed $value) + +

+
+ + + +
+

Set an array item to a given value using "dot" notation.

If no key is given to the method, the entire array will be replaced.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 657
+ static array + flatten(array $array, int $depth = INF) + +

+
+ + + +
+

Flatten a multi-dimensional array into a single level.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
int$depth
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 680
+ static void + forget(array $array, array|string $keys) + +

+
+ + + +
+

Remove one or many array items from a given array using "dot" notation.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
array|string$keys
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 722
+ static bool + has(ArrayAccess|array $array, string|array $keys) + +

+
+ + + +
+

Check if an item or items exist in an array using "dot" notation.

+
+

Parameters

+ + + + + + + + + + + + +
ArrayAccess|array$array
string|array$keys
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 765
+ static array + prepend(array $array, mixed $value, mixed $key = null) + +

+
+ + + +
+

Push an item onto the beginning of an array.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
mixed$value
mixed$key
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 783
+ static mixed + remove($arr, $key, $default = null) + +

+
+ + + +
+

remove the $key of the $arr, and return value.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$arr
$key
$default
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 802
+ static mixed + pull(array $array, string $key, mixed $default = null) + +

+
+ + + +
+

Get a value from the array, and remove it.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$array
string$key
mixed$default
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 817
+ static array + only(array $array, array|string $keys) + +

+
+ + + +
+

Get a subset of the items from the given array.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
array|string$keys
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 827
+ static array + shuffle(array $array) + +

+
+ + + +
+

Shuffle the given array and return the result.

+
+

Parameters

+ + + + + + + +
array$array
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 840
+ static array + where(array $array, callable $callback) + +

+
+ + + +
+

Filter the array using the given callback.

+
+

Parameters

+ + + + + + + + + + + + +
array$array
callable$callback
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 850
+ static array + wrap(mixed $value) + +

+
+ + + +
+

If the given value is not an array, wrap it in one.

+
+

Parameters

+ + + + + + + +
mixed$value
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 870
+ static string + toString(array $array, int $length = 800, array|int $cycles = 6, bool $showKey = true, bool $addMark = false, string $separator = ', ', string $string = '') + +

+
+ + + +
+

array 递归 转换成 字符串

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
array$array[大于1200字符 strlen($string)>1200
int$length
array|int$cycles[至多循环六次 $num >= 6
bool$showKey
bool$addMark
string$separator
string$string
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 916
+ static + toStringNoKey($array, $length = 800, $cycles = 6, $showKey = false, $addMark = true, $separator = ', ') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$array
$length
$cycles
$showKey
$addMark
$separator
+ + + + +
+
+ +
+
+

+
at line 932
+ static mixed|null|string|string[] + toFormatString(array $array, int $length = 400) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
array$array
int$length
+ + +

Return Value

+ + + + + + +
mixed|null|string|string[]
+ + + +
+
+ +
+
+

+
at line 949
+ static + toLimitOut($array) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$array
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ArrUtil/AryBuffer.html b/classes-docs/master/Toolkit/ArrUtil/AryBuffer.html new file mode 100644 index 0000000..908a6df --- /dev/null +++ b/classes-docs/master/Toolkit/ArrUtil/AryBuffer.html @@ -0,0 +1,543 @@ + + + + + + Toolkit\ArrUtil\AryBuffer | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + AryBuffer +

+ + + + +
+

Class ArrBuffer

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct(string $content = '') + +

constructor.

+
+
+
+
+ +
+
+ write(string $content) + +

No description

+
+
+
+
+
+ +
+
+ append(string $content) + +

No description

+
+
+
+
+
+ +
+
+ prepend(string $content) + +

No description

+
+
+
+
+
+ +
+
+ clear() + +

clear

+
+
+
+
+ string[] +
+
+ getBody() + +

No description

+
+
+
+
+
+ +
+
+ setBody(array $body) + +

No description

+
+
+
+
+
+ string +
+
+ toString() + +

No description

+
+
+
+
+
+ string +
+
+ __toString() + +

No description

+
+
+
+
+
+ string +
+
+ getDelimiter() + +

No description

+
+
+
+
+
+ +
+
+ setDelimiter(string $delimiter) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 29
+ + __construct(string $content = '') + +

+
+ + + +
+

constructor.

+
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 39
+ + write(string $content) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 47
+ + append(string $content) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 55
+ + prepend(string $content) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 63
+ + clear() + +

+
+ + + +
+

clear

+
+ + + +
+
+ +
+
+

+
at line 71
+ string[] + getBody() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string[]
+ + + +
+
+ +
+
+

+
at line 79
+ + setBody(array $body) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$body
+ + + + +
+
+ +
+
+

+
at line 87
+ string + toString() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 95
+ string + __toString() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 103
+ string + getDelimiter() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 111
+ + setDelimiter(string $delimiter) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$delimiter
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection.html b/classes-docs/master/Toolkit/Collection.html new file mode 100644 index 0000000..920a287 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection.html @@ -0,0 +1,184 @@ + + + + + + Toolkit\Collection | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+
+ ActiveData + +
+
+ Class ActiveData +
+
+
+
+ Collection + +
+
+ Class DataCollector - 数据收集器 (数据存储器 - DataStorage) complex deep +
+
+
+ +
+ Class Configuration - 配置数据管理 +
+
+
+
+ FixedArray + +
+
+ Class FixedArray + fixed size array implements, and support string key. +
+
+
+
+ JsonMessage + +
+
+ Class JsonMessage +
+
+
+
+ Language + +
+
+ Class Language +
+
+
+ +
+ Class LiteCollection +
+
+
+ +
+ Collection +This class provides a common interface used by many other +classes in a Inhere\Library application that manage "collections" +of data that must be inspected and/or manipulated +
+
+
+ +

Interfaces

+ +
+
+ +
+ Collection Interface +
+
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/ActiveData.html b/classes-docs/master/Toolkit/Collection/ActiveData.html new file mode 100644 index 0000000..d55283d --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/ActiveData.html @@ -0,0 +1,772 @@ + + + + + + Toolkit\Collection\ActiveData | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + ActiveData implements + ArrayAccess, IteratorAggregate +

+ + + + +
+

Class ActiveData

+ + + + +

Methods

+ +
+
+
+ static ActiveData +
+
+ create(array $data = [], bool|false $recursive = false) + +

No description

+
+
+
+
+
+ +
+
+ __construct(array $data = [], bool $recursive = false) + +

ActiveData constructor.

+
+
+
+
+ $this +
+
+ load(array $data, bool $recursive = false) + +

初始化,载入数据

+
+
+
+
+ +
+
+ isStrict() + +

No description

+
+
+
+
+
+ array|ArrayIterator +
+
+ all(bool $toArray = false) + +

No description

+
+
+
+
+
+ ActiveData|null +
+
+ get(string $name) + +

以点连接 快速获取子级节点的值

+
+
+
+ +
+ getIterator() + +

Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach

+
+
+
+
+ boolean +
+
+ offsetExists(mixed $offset) + +

Checks whether an offset exists in the iterator.

+
+
+
+
+ mixed +
+
+ offsetGet(mixed $offset) + +

Gets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetSet(mixed $offset, mixed $value) + +

Sets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+
+
+
+
+ +
+
+ __isset($name) + +

No description

+
+
+
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+
+
+
+
+ +
+
+ __get($name) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 24
+ static ActiveData + create(array $data = [], bool|false $recursive = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
array$data
bool|false$recursive
+ + +

Return Value

+ + + + + + +
ActiveData
+ + + +
+
+ +
+
+

+
at line 34
+ + __construct(array $data = [], bool $recursive = false) + +

+
+ + + +
+

ActiveData constructor.

+
+

Parameters

+ + + + + + + + + + + + +
array$data
bool$recursive
+ + + + +
+
+ +
+
+

+
at line 47
+ $this + load(array $data, bool $recursive = false) + +

+
+ + + +
+

初始化,载入数据

+
+

Parameters

+ + + + + + + + + + + + +
array$data
bool$recursive
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 62
+ + isStrict() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 71
+ array|ArrayIterator + all(bool $toArray = false) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$toArray
+ + +

Return Value

+ + + + + + +
array|ArrayIterator
+ + + +
+
+ +
+
+

+
at line 91
+ ActiveData|null + get(string $name) + +

+
+ + + +
+

以点连接 快速获取子级节点的值

+
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
ActiveData|null
+ + + +
+
+ +
+
+

+
at line 121
+ ArrayIterator + getIterator() + +

+
+ + + +
+

Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach

+
+ +

Return Value

+ + + + + + +
ArrayIterator
+ + + +
+
+ +
+
+

+
at line 131
+ boolean + offsetExists(mixed $offset) + +

+
+ + + +
+

Checks whether an offset exists in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
booleanTrue if the offset exists, false otherwise.
+ + + +
+
+ +
+
+

+
at line 141
+ mixed + offsetGet(mixed $offset) + +

+
+ + + +
+

Gets an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixedThe array value if it exists, null otherwise.
+ + + +
+
+ +
+
+

+
at line 152
+ void + offsetSet(mixed $offset, mixed $value) + +

+
+ + + +
+

Sets an offset in the iterator.

+
+

Parameters

+ + + + + + + + + + + + +
mixed$offsetThe array offset.
mixed$valueThe array value.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 162
+ void + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 167
+ + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + + +
+
+ +
+
+

+
at line 172
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + + +
+
+ +
+
+

+
at line 176
+ + __get($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/Collection.html b/classes-docs/master/Toolkit/Collection/Collection.html new file mode 100644 index 0000000..510c195 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/Collection.html @@ -0,0 +1,2603 @@ + + + + + + Toolkit\Collection\Collection | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Collection extends SimpleCollection +

+ + + + +
+

Class DataCollector - 数据收集器 (数据存储器 - DataStorage) complex deep

+ + +

Constants

+ + + + + + + + + + + + + + + + + + +
FORMAT_JSON +

+

+
FORMAT_PHP +

+

+
FORMAT_INI +

+

+
FORMAT_YML +

+

+
+ + +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ protected array + $dataThe source datafrom SimpleCollection
+ protected string + $separatorProperty separator.
+ protected string + $namename
+ static protected array + $formatsformats
+ + +

Methods

+ +
+
+
+ static SimpleCollection +
+
+ make(mixed $data = null, string $format = 'php', string $name = 'box1') + +

No description

+
+
+
+
+
+ +
+
+ __construct(mixed $data = null, string $format = 'php', string $name = 'box1') + +

__construct

+
+
+
+
+ +
+
+ __destruct() + +

No description

+
+ +
+
+
+ +
+
+ set(string $path, $value) + +

set config value by path

+
+
+
+
+ $this +
+
+ add($name, $value) + +

No description

+
+ +
+
+
+ +
+
+ get(string $path, $default = null) + +

get value by path

+
+
+
+
+ +
+
+ replace(array $items) + +

Add item to collection

+ +
+
+
+ array +
+
+ gets(array $names) + +

No description

+
+ +
+
+ +
+ sets(array $data) + +

No description

+
+ +
+
+ +
+ reject(callable $filter) + +

No description

+
+ +
+
+ +
+ map(callable $callback) + +

No description

+
+ +
+
+
+ string +
+
+ implode(string $char = ',') + +

No description

+
+ +
+
+
+ array +
+
+ all() + +

Get all items in collection

+ +
+
+
+ array +
+
+ toArray() + +

No description

+
+ +
+
+
+ array +
+
+ keys() + +

Get collection keys

+ +
+
+
+ bool +
+
+ has(string $path) + +

No description

+
+
+
+
+
+ mixed +
+
+ remove($key) + +

Remove item from collection

+ +
+
+
+ +
+
+ clear() + +

Clear all data.

+
+
+
+
+ bool +
+
+ offsetExists(string $key) + +

Does this collection have a given key?

+ +
+
+
+ mixed +
+
+ offsetGet(string $key) + +

Get collection item for key

+ +
+
+
+ +
+
+ offsetSet(string $key, mixed $value) + +

Set collection item

+ +
+
+
+ mixed|null +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+
+
+
+
+ int +
+
+ count() + +

Get number of items in collection

+ +
+
+
+ array +
+
+ jsonSerialize() + +

No description

+
+ +
+
+
+ string +
+
+ serialize() + +

No description

+
+ +
+
+
+ +
+
+ unserialize(string $serialized, bool|array $allowedClasses = false) + +

No description

+
+ +
+
+ +
+ getIterator() + +

No description

+
+
+
+
+
+ mixed +
+
+ __get($name) + +

No description

+
+ +
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+ +
+
+
+ +
+
+ __isset($name) + +

No description

+
+ +
+
+
+ +
+
+ exists($path) + +

No description

+
+
+
+
+
+ +
+
+ reset() + +

No description

+
+
+
+
+
+ mixed +
+
+ toObject($class = \stdClass::class) + +

No description

+
+
+
+
+
+ string +
+
+ getSeparator() + +

No description

+
+
+
+
+
+ +
+
+ setSeparator(string $separator) + +

No description

+
+
+
+
+
+ static array +
+
+ getFormats() + +

No description

+
+
+
+
+
+ $this +
+
+ setName(string $value) + +

setName

+
+
+
+
+ string +
+
+ getName() + +

getName

+
+
+
+ +
+ load(string|array $data, string $format = 'php') + +

load

+
+
+
+
+ static array|mixed +
+
+ read($file, string $format = self::FORMAT_PHP) + +

No description

+
+
+
+
+ +
+ loadYaml($data) + +

load data form yml file

+
+
+
+ +
+ loadArray(array|string $data) + +

load data form php file or array

+
+
+
+ +
+ loadObject(mixed $data) + +

load data form php file or array

+
+
+
+ +
+ loadIni(string $string) + +

load data form ini file

+
+
+
+ +
+ loadJson($data) + +

load data form json file

+
+
+
+
+ $this +
+
+ bindData($parent, $data, bool|false $raw = false) + +

No description

+
+
+
+
+
+ array +
+
+ getKeys() + +

No description

+
+
+
+
+
+ +
+
+ __clone() + +

No description

+
+
+
+
+
+ static array +
+
+ parseIni($string, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

No description

+
+
+
+
+
+ static array +
+
+ parseJson($data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

No description

+
+
+
+
+
+ static array +
+
+ parseYaml(string|bool $data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

parse YAML

+
+
+
+ + +

Details

+ +
+
+

+
at line 94
+ static SimpleCollection + make(mixed $data = null, string $format = 'php', string $name = 'box1') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
mixed$data
string$format
string$name
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
at line 78
+ + __construct(mixed $data = null, string $format = 'php', string $name = 'box1') + +

+
+ + + +
+

__construct

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
mixed$data
string$format
string$name
+ + + +

Exceptions

+ + + + + + +
RangeException
+ + +
+
+ +
+
+

+
in SimpleCollection at line 40
+ + __destruct() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 105
+ + set(string $path, $value) + +

+
+ + + +
+

set config value by path

+
+

Parameters

+ + + + + + + + + + + + +
string$path
$value
+ + + + +
+
+ +
+
+

+
in SimpleCollection at line 67
+ $this + add($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 118
+ + get(string $path, $default = null) + +

+
+ + + +
+

get value by path

+
+

Parameters

+ + + + + + + + + + + + +
string$path
$default
+ + + + +
+
+ +
+
+

+
in SimpleCollection at line 91
+ + replace(array $items) + +

+
+ + + +
+

Add item to collection

+
+

Parameters

+ + + + + + + +
array$items
+ + + + +
+
+ +
+
+

+
in SimpleCollection at line 102
+ array + gets(array $names) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$names
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 117
+ SimpleCollection + sets(array $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$data
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 130
+ SimpleCollection + reject(callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$filter
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 149
+ SimpleCollection + map(callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$callback
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 165
+ string + implode(string $char = ',') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$char
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 174
+ array + all() + +

+
+ + + +
+

Get all items in collection

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 182
+ array + toArray() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 191
+ array + keys() + +

+
+ + + +
+

Get collection keys

+
+ +

Return Value

+ + + + + + +
arrayThe collection's source data keys
+ + + +
+
+ +
+
+

+
at line 132
+ bool + has(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 211
+ mixed + remove($key) + +

+
+ + + +
+

Remove item from collection

+
+

Parameters

+ + + + + + + +
$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 148
+ + clear() + +

+
+ + + +
+

Clear all data.

+
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 240
+ bool + offsetExists(string $key) + +

+
+ + + +
+

Does this collection have a given key?

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 250
+ mixed + offsetGet(string $key) + +

+
+ + + +
+

Get collection item for key

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
mixedThe key's value, or the default value
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 260
+ + offsetSet(string $key, mixed $value) + +

+
+ + + +
+

Set collection item

+
+

Parameters

+ + + + + + + + + + + + +
string$keyThe data key
mixed$valueThe data value
+ + + + +
+
+ +
+
+

+
at line 377
+ mixed|null + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixed|null
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 283
+ int + count() + +

+
+ + + +
+

Get number of items in collection

+
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 295
+ array + jsonSerialize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 307
+ string + serialize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 316
+ + unserialize(string $serialized, bool|array $allowedClasses = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$serialized
bool|array$allowedClasses
+ + + + +
+
+ +
+
+

+
at line 367
+ ArrayIterator + getIterator() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
ArrayIterator
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 342
+ mixed + __get($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 347
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + + +
+
+ +
+
+

+
in SimpleCollection at line 352
+ + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + + +
+
+ +
+
+

+
at line 123
+ + exists($path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$path
+ + + + +
+
+ +
+
+

+
at line 137
+ + reset() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 157
+ mixed + toObject($class = \stdClass::class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 165
+ string + getSeparator() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 173
+ + setSeparator(string $separator) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$separator
+ + + + +
+
+ +
+
+

+
at line 181
+ static array + getFormats() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 191
+ $this + setName(string $value) + +

+
+ + + +
+

setName

+
+

Parameters

+ + + + + + + +
string$value
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 202
+ string + getName() + +

+
+ + + +
+

getName

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 215
+ Collection + load(string|array $data, string $format = 'php') + +

+
+ + + +
+

load

+
+

Parameters

+ + + + + + + + + + + + +
string|array$data
string$format= 'php'
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + + + + + +
RuntimeException
RangeException
+ + +
+
+ +
+
+

+
at line 253
+ static array|mixed + read($file, string $format = self::FORMAT_PHP) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$file
string$format
+ + +

Return Value

+ + + + + + +
array|mixed
+ + + +
+
+ +
+
+

+
at line 264
+ Collection + loadYaml($data) + +

+
+ + + +
+

load data form yml file

+
+

Parameters

+ + + + + + + +
$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 275
+ Collection + loadArray(array|string $data) + +

+
+ + + +
+

load data form php file or array

+
+

Parameters

+ + + + + + + +
array|string$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 294
+ Collection + loadObject(mixed $data) + +

+
+ + + +
+

load data form php file or array

+
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 308
+ Collection + loadIni(string $string) + +

+
+ + + +
+

load data form ini file

+
+

Parameters

+ + + + + + + +
string$string
+ + +

Return Value

+ + + + + + +
Collection
+ + + +
+
+ +
+
+

+
at line 319
+ Collection + loadJson($data) + +

+
+ + + +
+

load data form json file

+
+

Parameters

+ + + + + + + +
$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 330
+ protected $this + bindData($parent, $data, bool|false $raw = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$parent
$data
bool|false$raw
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 359
+ array + getKeys() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 382
+ + __clone() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 398
+ static array + parseIni($string, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$string
bool$enhancement
callable$pathHandler
string$fileDir
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 410
+ static array + parseJson($data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$data
bool$enhancement
callable$pathHandler
string$fileDir
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 423
+ static array + parseYaml(string|bool $data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

+
+ + + +
+

parse YAML

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string|bool$dataWaiting for the parse data
bool$enhancementSimple support import other config by tag 'import'. must is bool.
callable$pathHandlerWhen the second param is true, this param is valid.
string$fileDirWhen the second param is true, this param is valid.
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/CollectionInterface.html b/classes-docs/master/Toolkit/Collection/CollectionInterface.html new file mode 100644 index 0000000..d15afcc --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/CollectionInterface.html @@ -0,0 +1,414 @@ + + + + + + Toolkit\Collection\CollectionInterface | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

interface + CollectionInterface implements + Serializable, ArrayAccess, Countable, IteratorAggregate, JsonSerializable +

+ + + + +
+

Collection Interface

+ + + + +

Methods

+ +
+
+
+ +
+
+ set($key, $value) + +

No description

+
+
+
+
+
+ +
+
+ get(string $key, $default = null) + +

No description

+
+
+
+
+
+ +
+
+ replace(array $items) + +

No description

+
+
+
+
+
+ array +
+
+ all() + +

No description

+
+
+
+
+
+ bool +
+
+ has(string $key) + +

No description

+
+
+
+
+
+ mixed +
+
+ remove($key) + +

No description

+
+
+
+
+
+ +
+
+ clear() + +

clear all data

+
+
+
+ + +

Details

+ +
+
+

+
at line 10
+ + set($key, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$key
$value
+ + + + +
+
+ +
+
+

+
at line 12
+ + get(string $key, $default = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$key
$default
+ + + + +
+
+ +
+
+

+
at line 17
+ + replace(array $items) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$items
+ + + + +
+
+ +
+
+

+
at line 22
+ array + all() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 28
+ bool + has(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 34
+ mixed + remove($key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 39
+ + clear() + +

+
+ + + +
+

clear all data

+
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/Configuration.html b/classes-docs/master/Toolkit/Collection/Configuration.html new file mode 100644 index 0000000..d781098 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/Configuration.html @@ -0,0 +1,2981 @@ + + + + + + Toolkit\Collection\Configuration | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Configuration extends Collection +

+ + + + +
+

Class Configuration - 配置数据管理

+ + +

Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FORMAT_JSON +

+

+
FORMAT_PHP +

+

+
FORMAT_INI +

+

+
FORMAT_YML +

+

+
MODE_DATA +

+

+
MODE_FOLDER +

+

+
+ + +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ protected array + $dataThe source datafrom SimpleCollection
+ protected string + $separatorProperty separator.from Collection
+ protected string + $namenamefrom Collection
+ static protected array + $formatsformatsfrom Collection
+ protected string + $modeconfig mode +Allow: + folder 文件夹模式,传入一个配置文件夹路径,根据文件夹中的配置名称读取配置数据 + data 数据模式,可以一个配置文件的路径,将会自动读取载入;或直接传入数组数据
+ protected string + $format
+ + +

Methods

+ +
+
+
+ static SimpleCollection +
+
+ make(mixed $data = null, string $format = 'php', string $name = 'box1') + +

No description

+
+ +
+
+
+ +
+
+ __construct(mixed $data = null, string $format = self::FORMAT_PHP, string $name = 'config') + +

__construct

+
+
+
+
+ +
+
+ __destruct() + +

No description

+
+ +
+
+
+ +
+
+ set(string $path, $value) + +

set config value by path

+
+
+
+
+ $this +
+
+ add($name, $value) + +

No description

+
+ +
+
+
+ +
+
+ get(string $path, $default = null) + +

get value by path

+
+
+
+
+ +
+
+ replace(array $items) + +

Add item to collection

+ +
+
+
+ array +
+
+ gets(array $names) + +

No description

+
+ +
+
+ +
+ sets(array $data) + +

No description

+
+ +
+
+ +
+ reject(callable $filter) + +

No description

+
+ +
+
+ +
+ map(callable $callback) + +

No description

+
+ +
+
+
+ string +
+
+ implode(string $char = ',') + +

No description

+
+ +
+
+
+ array +
+
+ all() + +

Get all items in collection

+ +
+
+
+ array +
+
+ toArray() + +

No description

+
+ +
+
+
+ array +
+
+ keys() + +

Get collection keys

+ +
+
+
+ bool +
+
+ has(string $path) + +

No description

+
+ +
+
+
+ mixed +
+
+ remove($key) + +

Remove item from collection

+ +
+
+
+ +
+
+ clear() + +

Clear all data.

+ +
+
+
+ bool +
+
+ offsetExists(string $key) + +

Does this collection have a given key?

+ +
+
+
+ mixed +
+
+ offsetGet(string $key) + +

Get collection item for key

+ +
+
+
+ +
+
+ offsetSet(string $key, mixed $value) + +

Set collection item

+ +
+
+
+ mixed|null +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+ +
+
+
+ int +
+
+ count() + +

Get number of items in collection

+ +
+
+
+ array +
+
+ jsonSerialize() + +

No description

+
+ +
+
+
+ string +
+
+ serialize() + +

No description

+
+ +
+
+
+ +
+
+ unserialize(string $serialized, bool|array $allowedClasses = false) + +

No description

+
+ +
+
+ +
+ getIterator() + +

No description

+
+ +
+
+
+ mixed +
+
+ __get($name) + +

No description

+
+ +
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+ +
+
+
+ +
+
+ __isset($name) + +

No description

+
+ +
+
+
+ +
+
+ exists($path) + +

No description

+
+ +
+
+
+ +
+
+ reset() + +

No description

+
+ +
+
+
+ mixed +
+
+ toObject($class = \stdClass::class) + +

No description

+
+ +
+
+
+ string +
+
+ getSeparator() + +

No description

+
+ +
+
+
+ +
+
+ setSeparator(string $separator) + +

No description

+
+ +
+
+
+ static array +
+
+ getFormats() + +

No description

+
+ +
+
+
+ $this +
+
+ setName(string $value) + +

setName

+ +
+
+
+ string +
+
+ getName() + +

getName

+ +
+
+ +
+ load(string|array $data, string $format = 'php') + +

load

+ +
+
+
+ static array|mixed +
+
+ read($file, string $format = self::FORMAT_PHP) + +

No description

+
+ +
+
+ +
+ loadYaml($data) + +

load data form yml file

+ +
+
+ +
+ loadArray(array|string $data) + +

load data form php file or array

+ +
+
+ +
+ loadObject(mixed $data) + +

load data form php file or array

+ +
+
+ +
+ loadIni(string $string) + +

load data form ini file

+ +
+
+ +
+ loadJson($data) + +

load data form json file

+ +
+
+
+ $this +
+
+ bindData($parent, $data, bool|false $raw = false) + +

No description

+
+ +
+
+
+ array +
+
+ getKeys() + +

No description

+
+ +
+
+
+ +
+
+ __clone() + +

No description

+
+ +
+
+
+ static array +
+
+ parseIni($string, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

No description

+
+ +
+
+
+ static array +
+
+ parseJson($data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

No description

+
+ +
+
+
+ static array +
+
+ parseYaml(string|bool $data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

parse YAML

+ +
+
+
+ string +
+
+ getMode() + +

get Mode

+
+
+
+
+ +
+
+ setMode(string $mode) + +

No description

+
+
+
+
+
+ +
+
+ setReadonly(bool $readonly) + +

No description

+
+
+
+
+
+ boolean +
+
+ isReadonly() + +

data is Readonly

+
+
+
+
+ string +
+
+ getFormat() + +

No description

+
+
+
+
+
+ +
+
+ setFormat(string $format) + +

No description

+
+
+
+
+
+ string +
+
+ getFolderPath() + +

No description

+
+
+
+
+
+ +
+
+ setFolderPath(string $folderPath) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
in Collection at line 94
+ static SimpleCollection + make(mixed $data = null, string $format = 'php', string $name = 'box1') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
mixed$data
string$format
string$name
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
at line 61
+ + __construct(mixed $data = null, string $format = self::FORMAT_PHP, string $name = 'config') + +

+
+ + + +
+

__construct

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
mixed$data
string$format
string$name
+ + + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
in SimpleCollection at line 40
+ + __destruct() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 85
+ + set(string $path, $value) + +

+
+ + + +
+

set config value by path

+
+

Parameters

+ + + + + + + + + + + + +
string$path
$value
+ + + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
in SimpleCollection at line 67
+ $this + add($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 102
+ + get(string $path, $default = null) + +

+
+ + + +
+

get value by path

+
+

Parameters

+ + + + + + + + + + + + +
string$path
$default
+ + + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
in SimpleCollection at line 91
+ + replace(array $items) + +

+
+ + + +
+

Add item to collection

+
+

Parameters

+ + + + + + + +
array$items
+ + + + +
+
+ +
+
+

+
in SimpleCollection at line 102
+ array + gets(array $names) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$names
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 117
+ SimpleCollection + sets(array $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$data
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 130
+ SimpleCollection + reject(callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$filter
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 149
+ SimpleCollection + map(callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$callback
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 165
+ string + implode(string $char = ',') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$char
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 174
+ array + all() + +

+
+ + + +
+

Get all items in collection

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 182
+ array + toArray() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 191
+ array + keys() + +

+
+ + + +
+

Get collection keys

+
+ +

Return Value

+ + + + + + +
arrayThe collection's source data keys
+ + + +
+
+ +
+
+

+
in Collection at line 132
+ bool + has(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 211
+ mixed + remove($key) + +

+
+ + + +
+

Remove item from collection

+
+

Parameters

+ + + + + + + +
$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in Collection at line 148
+ + clear() + +

+
+ + + +
+

Clear all data.

+
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 240
+ bool + offsetExists(string $key) + +

+
+ + + +
+

Does this collection have a given key?

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 250
+ mixed + offsetGet(string $key) + +

+
+ + + +
+

Get collection item for key

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
mixedThe key's value, or the default value
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 260
+ + offsetSet(string $key, mixed $value) + +

+
+ + + +
+

Set collection item

+
+

Parameters

+ + + + + + + + + + + + +
string$keyThe data key
mixed$valueThe data value
+ + + + +
+
+ +
+
+

+
in Collection at line 377
+ mixed|null + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixed|null
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 283
+ int + count() + +

+
+ + + +
+

Get number of items in collection

+
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 295
+ array + jsonSerialize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 307
+ string + serialize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 316
+ + unserialize(string $serialized, bool|array $allowedClasses = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$serialized
bool|array$allowedClasses
+ + + + +
+
+ +
+
+

+
in Collection at line 367
+ ArrayIterator + getIterator() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
ArrayIterator
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 342
+ mixed + __get($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in SimpleCollection at line 347
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + + +
+
+ +
+
+

+
in SimpleCollection at line 352
+ + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + + +
+
+ +
+
+

+
in Collection at line 123
+ + exists($path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$path
+ + + + +
+
+ +
+
+

+
in Collection at line 137
+ + reset() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
in Collection at line 157
+ mixed + toObject($class = \stdClass::class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in Collection at line 165
+ string + getSeparator() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in Collection at line 173
+ + setSeparator(string $separator) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$separator
+ + + + +
+
+ +
+
+

+
in Collection at line 181
+ static array + getFormats() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in Collection at line 191
+ $this + setName(string $value) + +

+
+ + + +
+

setName

+
+

Parameters

+ + + + + + + +
string$value
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
in Collection at line 202
+ string + getName() + +

+
+ + + +
+

getName

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in Collection at line 215
+ Collection + load(string|array $data, string $format = 'php') + +

+
+ + + +
+

load

+
+

Parameters

+ + + + + + + + + + + + +
string|array$data
string$format= 'php'
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + + + + + +
RuntimeException
RangeException
+ + +
+
+ +
+
+

+
in Collection at line 253
+ static array|mixed + read($file, string $format = self::FORMAT_PHP) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$file
string$format
+ + +

Return Value

+ + + + + + +
array|mixed
+ + + +
+
+ +
+
+

+
in Collection at line 264
+ Collection + loadYaml($data) + +

+
+ + + +
+

load data form yml file

+
+

Parameters

+ + + + + + + +
$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
in Collection at line 275
+ Collection + loadArray(array|string $data) + +

+
+ + + +
+

load data form php file or array

+
+

Parameters

+ + + + + + + +
array|string$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
in Collection at line 294
+ Collection + loadObject(mixed $data) + +

+
+ + + +
+

load data form php file or array

+
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
in Collection at line 308
+ Collection + loadIni(string $string) + +

+
+ + + +
+

load data form ini file

+
+

Parameters

+ + + + + + + +
string$string
+ + +

Return Value

+ + + + + + +
Collection
+ + + +
+
+ +
+
+

+
in Collection at line 319
+ Collection + loadJson($data) + +

+
+ + + +
+

load data form json file

+
+

Parameters

+ + + + + + + +
$data
+ + +

Return Value

+ + + + + + +
Collection
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
in Collection at line 330
+ protected $this + bindData($parent, $data, bool|false $raw = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$parent
$data
bool|false$raw
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
in Collection at line 359
+ array + getKeys() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in Collection at line 382
+ + __clone() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
in Collection at line 398
+ static array + parseIni($string, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$string
bool$enhancement
callable$pathHandler
string$fileDir
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in Collection at line 410
+ static array + parseJson($data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$data
bool$enhancement
callable$pathHandler
string$fileDir
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in Collection at line 423
+ static array + parseYaml(string|bool $data, bool $enhancement = false, callable $pathHandler = null, string $fileDir = '') + +

+
+ + + +
+

parse YAML

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string|bool$dataWaiting for the parse data
bool$enhancementSimple support import other config by tag 'import'. must is bool.
callable$pathHandlerWhen the second param is true, this param is valid.
string$fileDirWhen the second param is true, this param is valid.
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 127
+ string + getMode() + +

+
+ + + +
+

get Mode

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 135
+ + setMode(string $mode) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$mode
+ + + + +
+
+ +
+
+

+
at line 143
+ + setReadonly(bool $readonly) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$readonly
+ + + + +
+
+ +
+
+

+
at line 152
+ boolean + isReadonly() + +

+
+ + + +
+

data is Readonly

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 160
+ string + getFormat() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 168
+ + setFormat(string $format) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$format
+ + + + +
+
+ +
+
+

+
at line 176
+ string + getFolderPath() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 185
+ + setFolderPath(string $folderPath) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$folderPath
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/FixedArray.html b/classes-docs/master/Toolkit/Collection/FixedArray.html new file mode 100644 index 0000000..c677e36 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/FixedArray.html @@ -0,0 +1,856 @@ + + + + + + Toolkit\Collection\FixedArray | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + FixedArray implements + ArrayAccess, IteratorAggregate +

+ + + + +
+

Class FixedArray + fixed size array implements, and support string key.

SplFixedArray only allow int key.

+ + + +

Properties

+ + + + + + + + + + + + + + +
+ protected array + $keys
+ protected SplFixedArray + $values
+ + +

Methods

+ +
+
+
+ +
+
+ __construct(int $size = 0) + +

FixedArray constructor.

+
+
+
+
+ +
+
+ reset(int $size = 0) + +

reset

+
+
+
+
+ bool +
+
+ __isset(string $key) + +

No description

+
+
+
+
+
+ +
+
+ __set(string $key, mixed $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ __get(string $key) + +

No description

+
+
+
+
+
+ int +
+
+ getSize() + +

No description

+
+
+
+
+
+ int +
+
+ getKeyIndex($key) + +

No description

+
+
+
+
+
+ array +
+
+ getKeys() + +

No description

+
+
+
+
+
+ +
+
+ setKeys(array $keys) + +

No description

+
+
+
+
+ +
+ getValues() + +

No description

+
+
+
+
+
+ +
+
+ setValues(SplFixedArray $values) + +

No description

+
+
+
+
+ +
+ getIterator() + +

Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach

+
+
+
+
+ boolean +
+
+ offsetExists(mixed $offset) + +

Checks whether an offset exists in the iterator.

+
+
+
+
+ mixed +
+
+ offsetGet(mixed $offset) + +

Gets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetSet(mixed $offset, mixed $value) + +

Sets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+
+
+
+ + +

Details

+ +
+
+

+
at line 36
+ + __construct(int $size = 0) + +

+
+ + + +
+

FixedArray constructor.

+
+

Parameters

+ + + + + + + +
int$size
+ + + + +
+
+ +
+
+

+
at line 46
+ + reset(int $size = 0) + +

+
+ + + +
+

reset

+
+

Parameters

+ + + + + + + +
int$size
+ + + + +
+
+ +
+
+

+
at line 56
+ bool + __isset(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 65
+ + __set(string $key, mixed $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + + + +
+
+ +
+
+

+
at line 74
+ mixed + __get(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 82
+ int + getSize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 91
+ int + getKeyIndex($key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$key
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 99
+ array + getKeys() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 107
+ + setKeys(array $keys) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$keys
+ + + + +
+
+ +
+
+

+
at line 115
+ SplFixedArray + getValues() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
SplFixedArray
+ + + +
+
+ +
+
+

+
at line 123
+ + setValues(SplFixedArray $values) + +

+
+ + + +
+

Parameters

+ + + + + + + +
SplFixedArray$values
+ + + + +
+
+ +
+
+

+
at line 133
+ SplFixedArray + getIterator() + +

+
+ + + +
+

Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach

+
+ +

Return Value

+ + + + + + +
SplFixedArray
+ + + +
+
+ +
+
+

+
at line 143
+ boolean + offsetExists(mixed $offset) + +

+
+ + + +
+

Checks whether an offset exists in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
booleanTrue if the offset exists, false otherwise.
+ + + +
+
+ +
+
+

+
at line 153
+ mixed + offsetGet(mixed $offset) + +

+
+ + + +
+

Gets an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixedThe array value if it exists, null otherwise.
+ + + +
+
+ +
+
+

+
at line 170
+ void + offsetSet(mixed $offset, mixed $value) + +

+
+ + + +
+

Sets an offset in the iterator.

+
+

Parameters

+ + + + + + + + + + + + +
mixed$offsetThe array offset.
mixed$valueThe array value.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 186
+ void + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/JsonMessage.html b/classes-docs/master/Toolkit/Collection/JsonMessage.html new file mode 100644 index 0000000..397e07b --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/JsonMessage.html @@ -0,0 +1,792 @@ + + + + + + Toolkit\Collection\JsonMessage | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + JsonMessage +

+ + + + +
+

Class JsonMessage

+ + + +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ int + $code
+ string + $msg
+ int|float + $time
+ array|string + $data
+ + +

Methods

+ +
+
+
+ static  +
+
+ make($data = null, $msg = 'success', $code = 0) + +

No description

+
+
+
+
+
+ +
+
+ __construct(null $data = null, string $msg = 'success', int $code = 0) + +

JsonMessage constructor.

+
+
+
+
+ bool +
+
+ isSuccess() + +

No description

+
+
+
+
+
+ bool +
+
+ isFailure() + +

No description

+
+
+
+
+
+ $this +
+
+ code($code) + +

No description

+
+
+
+
+
+ $this +
+
+ msg($msg) + +

No description

+
+
+
+
+
+ +
+
+ add(string $key, mixed $value) + +

No description

+
+
+
+
+
+ $this +
+
+ data(array|string $data) + +

No description

+
+
+
+
+
+ array +
+
+ all() + +

No description

+
+
+
+
+
+ array +
+
+ toArray() + +

No description

+
+
+
+
+
+ string +
+
+ __toString() + +

No description

+
+
+
+
+
+ bool +
+
+ __isset(string $name) + +

No description

+
+
+
+
+
+ +
+
+ __set(string $name, $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ __get(string $name) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 48
+ static + make($data = null, $msg = 'success', $code = 0) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$data
$msg
$code
+ + + + +
+
+ +
+
+

+
at line 59
+ + __construct(null $data = null, string $msg = 'success', int $code = 0) + +

+
+ + + +
+

JsonMessage constructor.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
null$data
string$msg
int$code
+ + + + +
+
+ +
+
+

+
at line 69
+ bool + isSuccess() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 77
+ bool + isFailure() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 86
+ $this + code($code) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$code
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 97
+ $this + msg($msg) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$msg
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 108
+ + add(string $key, mixed $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + + + +
+
+ +
+
+

+
at line 121
+ $this + data(array|string $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array|string$data
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 131
+ array + all() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 144
+ array + toArray() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 152
+ string + __toString() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 161
+ bool + __isset(string $name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 170
+ + __set(string $name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
$value
+ + + + +
+
+ +
+
+

+
at line 180
+ mixed + __get(string $name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/Language.html b/classes-docs/master/Toolkit/Collection/Language.html new file mode 100644 index 0000000..f12b785 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/Language.html @@ -0,0 +1,2369 @@ + + + + + + Toolkit\Collection\Language | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Language implements + ArrayAccess, Countable, IteratorAggregate +

+ + + + +
+

Class Language

+ + +

Constants

+ + + + + + +
DEFAULT_FILE_KEY +

+

+
+ + + +

Methods

+ +
+
+
+ +
+
+ init() + +

{@inheritDoc}

+
+
+
+
+ +
+
+ t($key, array $args = [], $lang = '') + +

{@inheritdoc}

+
+
+
+
+ +
+
+ tl($key, array $args = [], $lang = null) + +

{@inheritdoc}

+
+
+
+
+ +
+
+ trans($key, array $args = [], $lang = null) + +

{@inheritdoc}

+
+
+
+
+ string|array +
+
+ translate(string|bool $key, array $args = [], string $lang = null) + +

how to use language translate ? please see '/doc/language.md'

+
+
+
+
+ mixed +
+
+ set(string $key, mixed $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ has(string $key) + +

No description

+
+
+
+
+
+ string|mixed +
+
+ findTranslationText(string $key) + +

No description

+
+
+
+
+
+ string|mixed +
+
+ transByFallbackLang(string $key) + +

No description

+
+
+
+
+
+ string +
+
+ buildLangFilePath(string $filename, string $lang = '') + +

No description

+
+
+
+
+
+ string|null +
+
+ getLangFile(string $fileKey) + +

No description

+
+
+
+
+
+ bool +
+
+ hasLangFile(string $fileKey) + +

No description

+
+
+
+
+
+ bool +
+
+ addLangFile(string $file, string $fileKey = null) + +

No description

+
+
+
+
+
+ bool +
+
+ hasLangFileData($fileKey) + +

No description

+
+
+
+
+
+ bool +
+
+ hasLang(string $lang) + +

No description

+
+
+
+
+
+ bool +
+
+ isLang(string $lang) + +

No description

+
+
+
+
+
+ mixed|string +
+
+ __get(string $name) + +

Allow quick access default file translate by $lang->key, +is equals to $lang->tl('key').

+
+
+
+
+ +
+
+ __isset($name) + +

No description

+
+
+
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+
+
+
+
+ mixed|string +
+
+ __call(string $name, array $args) + +

Allow quick access default file translate by $lang->key(), +is equals to $lang->tl('key').

+
+
+
+
+ string +
+
+ getLang() + +

No description

+
+
+
+
+
+ +
+
+ setLang(string $lang) + +

No description

+
+
+
+
+
+ string[] +
+
+ getLangs() + +

No description

+
+
+
+
+
+ +
+
+ setLangs(array $langs) + +

No description

+
+
+
+
+
+ string +
+
+ getBasePath() + +

No description

+
+
+
+
+
+ +
+
+ setBasePath(string $path) + +

No description

+
+
+
+
+ +
+ getData() + +

No description

+
+
+
+
+
+ array +
+
+ getLangFiles() + +

No description

+
+
+
+
+
+ +
+
+ setLangFiles(array $langFiles) + +

No description

+
+
+
+
+
+ string +
+
+ getDefaultFile(bool $full = false) + +

No description

+
+
+
+
+
+ string +
+
+ getFallbackLang() + +

No description

+
+
+
+
+
+ +
+
+ setFallbackLang(string $fallbackLang) + +

No description

+
+
+
+
+ +
+ getFallbackData() + +

No description

+
+
+
+
+
+ string +
+
+ getFormat() + +

No description

+
+
+
+
+
+ +
+
+ setFormat(string $format) + +

No description

+
+
+
+
+
+ string +
+
+ getSeparator() + +

No description

+
+
+
+
+
+ +
+
+ setSeparator(string $separator) + +

No description

+
+
+
+
+
+ array +
+
+ getLoadedFiles() + +

No description

+
+
+
+
+
+ bool +
+
+ isIgnoreError() + +

No description

+
+
+
+
+
+ +
+
+ setIgnoreError(bool $ignoreError) + +

No description

+
+
+
+
+ +
+ getIterator() + +

Retrieve an external iterator

+
+
+
+
+ boolean +
+
+ offsetExists(mixed $offset) + +

Whether a offset exists

+
+
+
+
+ mixed +
+
+ offsetGet(mixed $offset) + +

Offset to retrieve

+
+
+
+
+ void +
+
+ offsetSet(mixed $offset, mixed $value) + +

Offset to set

+
+
+
+
+ void +
+
+ offsetUnset(mixed $offset) + +

Offset to unset

+
+
+
+
+ int +
+
+ count() + +

Count elements of an object

+
+
+
+ + +

Details

+ +
+
+

+
at line 102
+ protected + init() + +

+
+ + + +
+

{@inheritDoc}

+
+ + +

Exceptions

+ + + + + + +
RangeException
+ + +
+
+ +
+
+

+
at line 121
+ + t($key, array $args = [], $lang = '') + +

+
+ + + +
+

{@inheritdoc}

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$key
array$args
$lang
+ + + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
NotFoundException
+ + +

See also

+ + + + + + +
+ Language::translate +
+ +
+
+ +
+
+

+
at line 132
+ + tl($key, array $args = [], $lang = null) + +

+
+ + + +
+

{@inheritdoc}

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$key
array$args
$lang
+ + + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
NotFoundException
+ + +

See also

+ + + + + + +
+ Language::translate +
+ +
+
+ +
+
+

+
at line 143
+ + trans($key, array $args = [], $lang = null) + +

+
+ + + +
+

{@inheritdoc}

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$key
array$args
$lang
+ + + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
NotFoundException
+ + +

See also

+ + + + + + +
+ Language::translate +
+ +
+
+ +
+
+

+
at line 156
+ string|array + translate(string|bool $key, array $args = [], string $lang = null) + +

+
+ + + +
+

how to use language translate ? please see '/doc/language.md'

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|bool$key
array$args
string$lang
+ + +

Return Value

+ + + + + + +
string|array
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 194
+ mixed + set(string $key, mixed $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$key
mixed$value
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 203
+ mixed + has(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 212
+ protected string|mixed + findTranslationText(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
string|mixed
+ + + +
+
+ +
+
+

+
at line 244
+ protected string|mixed + transByFallbackLang(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
string|mixed
+ + +

Exceptions

+ + + + + + +
RangeException
+ + +
+
+ +
+
+

+
at line 320
+ protected string + buildLangFilePath(string $filename, string $lang = '') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$filename
string$lang
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 335
+ string|null + getLangFile(string $fileKey) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$fileKey
+ + +

Return Value

+ + + + + + +
string|null
+ + + +
+
+ +
+
+

+
at line 344
+ bool + hasLangFile(string $fileKey) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$fileKey
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 355
+ bool + addLangFile(string $file, string $fileKey = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$file
string$fileKey
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 392
+ bool + hasLangFileData($fileKey) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$fileKey
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 405
+ bool + hasLang(string $lang) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$lang
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 414
+ bool + isLang(string $lang) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$lang
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 426
+ mixed|string + __get(string $name) + +

+
+ + + +
+

Allow quick access default file translate by $lang->key, +is equals to $lang->tl('key').

+
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
mixed|string
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 431
+ + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + + +
+
+ +
+
+

+
at line 435
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + + +
+
+ +
+
+

+
at line 447
+ mixed|string + __call(string $name, array $args) + +

+
+ + + +
+

Allow quick access default file translate by $lang->key(), +is equals to $lang->tl('key').

+
+

Parameters

+ + + + + + + + + + + + +
string$name
array$args
+ + +

Return Value

+ + + + + + +
mixed|string
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 455
+ string + getLang() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 463
+ + setLang(string $lang) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$lang
+ + + + +
+
+ +
+
+

+
at line 471
+ string[] + getLangs() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string[]
+ + + +
+
+ +
+
+

+
at line 479
+ + setLangs(array $langs) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$langs
+ + + + +
+
+ +
+
+

+
at line 487
+ string + getBasePath() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 496
+ + setBasePath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 508
+ Collection + getData() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
Collection
+ + + +
+
+ +
+
+

+
at line 516
+ array + getLangFiles() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 525
+ + setLangFiles(array $langFiles) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$langFiles
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 536
+ string + getDefaultFile(bool $full = false) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$full
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 544
+ string + getFallbackLang() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 552
+ + setFallbackLang(string $fallbackLang) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$fallbackLang
+ + + + +
+
+ +
+
+

+
at line 560
+ Collection + getFallbackData() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
Collection
+ + + +
+
+ +
+
+

+
at line 568
+ string + getFormat() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 576
+ + setFormat(string $format) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$format
+ + + + +
+
+ +
+
+

+
at line 586
+ string + getSeparator() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 594
+ + setSeparator(string $separator) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$separator
+ + + + +
+
+ +
+
+

+
at line 602
+ array + getLoadedFiles() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 610
+ bool + isIgnoreError() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 618
+ + setIgnoreError(bool $ignoreError) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$ignoreError
+ + + + +
+
+ +
+
+

+
at line 634
+ Traversable + getIterator() + +

+
+ + + +
+

Retrieve an external iterator

+
+ +

Return Value

+ + + + + + +
TraversableAn instance of an object implementing Iterator or +Traversable
+ + + +
+
+ +
+
+

+
at line 651
+ boolean + offsetExists(mixed $offset) + +

+
+ + + +
+

Whether a offset exists

+
+

Parameters

+ + + + + + + +
mixed$offsetAn offset to check for.
+ + +

Return Value

+ + + + + + +
booleantrue on success or false on failure. +

+ +

<

+ +

p> +The return value will be casted to boolean if non-boolean was returned.

+ + + +
+
+ +
+
+

+
at line 666
+ mixed + offsetGet(mixed $offset) + +

+
+ + + +
+

Offset to retrieve

+
+

Parameters

+ + + + + + + +
mixed$offsetThe offset to retrieve.
+ + +

Return Value

+ + + + + + +
mixedCan return all value types.
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 683
+ void + offsetSet(mixed $offset, mixed $value) + +

+
+ + + +
+

Offset to set

+
+

Parameters

+ + + + + + + + + + + + +
mixed$offsetThe offset to assign the value to.
mixed$valueThe value to set.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 697
+ void + offsetUnset(mixed $offset) + +

+
+ + + +
+

Offset to unset

+
+

Parameters

+ + + + + + + +
mixed$offsetThe offset to unset.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 711
+ int + count() + +

+
+ + + +
+

Count elements of an object

+
+ +

Return Value

+ + + + + + +
intThe custom count as an integer. +

+ +

<

+ +

p> +The return value is cast to an integer.

+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/LiteCollection.html b/classes-docs/master/Toolkit/Collection/LiteCollection.html new file mode 100644 index 0000000..f40bb23 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/LiteCollection.html @@ -0,0 +1,746 @@ + + + + + + Toolkit\Collection\LiteCollection | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + LiteCollection extends ArrayObject implements + CollectionInterface +

+ + + + +
+

Class LiteCollection

+ + + + +

Methods

+ +
+
+
+ static LiteCollection +
+
+ make(array|null $items = null) + +

No description

+
+
+
+
+
+ +
+
+ __construct(array $items = []) + +

Create new collection

+
+
+
+
+ +
+
+ get(string $name, $default = null) + +

No description

+
+
+
+
+
+ mixed|null +
+
+ add(string $name, mixed $value) + +

No description

+
+
+
+
+
+ +
+
+ set(string $name, $value) + +

No description

+
+
+
+
+
+ +
+
+ replace(array $items) + +

No description

+
+
+
+
+ +
+ reject(callable $filter) + +

No description

+
+
+
+
+ +
+ map(callable $callback) + +

No description

+
+
+
+
+
+ string +
+
+ implode(string $char = ',') + +

No description

+
+
+
+
+
+ array +
+
+ all() + +

No description

+
+
+
+
+
+ bool +
+
+ has(string $key) + +

No description

+
+
+
+
+
+ mixed +
+
+ remove($key) + +

No description

+
+
+
+
+
+ +
+
+ clear() + +

clear all data

+
+
+
+
+ mixed +
+
+ jsonSerialize() + +

Specify data which should be serialized to JSON

+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ static LiteCollection + make(array|null $items = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array|null$items
+ + +

Return Value

+ + + + + + +
LiteCollection
+ + + +
+
+ +
+
+

+
at line 30
+ + __construct(array $items = []) + +

+
+ + + +
+

Create new collection

+
+

Parameters

+ + + + + + + +
array$itemsPre-populate collection with this key-value array
+ + + + +
+
+ +
+
+

+
at line 42
+ + get(string $name, $default = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
$default
+ + + + +
+
+ +
+
+

+
at line 52
+ mixed|null + add(string $name, mixed $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
mixed$value
+ + +

Return Value

+ + + + + + +
mixed|null
+ + + +
+
+ +
+
+

+
at line 68
+ + set(string $name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
$value
+ + + + +
+
+ +
+
+

+
at line 76
+ + replace(array $items) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$items
+ + + + +
+
+ +
+
+

+
at line 87
+ LiteCollection + reject(callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$filter
+ + +

Return Value

+ + + + + + +
LiteCollection
+ + + +
+
+ +
+
+

+
at line 106
+ LiteCollection + map(callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$callback
+ + +

Return Value

+ + + + + + +
LiteCollection
+ + + +
+
+ +
+
+

+
at line 122
+ string + implode(string $char = ',') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$char
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 137
+ array + all() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 145
+ bool + has(string $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 153
+ mixed + remove($key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 168
+ + clear() + +

+
+ + + +
+

clear all data

+
+ + + +
+
+ +
+
+

+
at line 182
+ mixed + jsonSerialize() + +

+
+ + + +
+

Specify data which should be serialized to JSON

+
+ +

Return Value

+ + + + + + +
mixeddata which can be serialized by json_encode, +which is a value of any type other than a resource.
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Collection/SimpleCollection.html b/classes-docs/master/Toolkit/Collection/SimpleCollection.html new file mode 100644 index 0000000..433ce35 --- /dev/null +++ b/classes-docs/master/Toolkit/Collection/SimpleCollection.html @@ -0,0 +1,1467 @@ + + + + + + Toolkit\Collection\SimpleCollection | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + SimpleCollection implements + CollectionInterface +

+ + + + +
+

Collection +This class provides a common interface used by many other +classes in a Inhere\Library application that manage "collections" +of data that must be inspected and/or manipulated

+ + + +

Properties

+ + + + + + + + +
+ protected array + $dataThe source data
+ + +

Methods

+ +
+
+
+ static SimpleCollection +
+
+ make(array|null $items = null) + +

No description

+
+
+
+
+
+ +
+
+ __construct(array $items = []) + +

Create new collection

+
+
+
+
+ +
+
+ __destruct() + +

No description

+
+
+
+
+
+ +
+
+ set($key, $value) + +

Set collection item

+
+
+
+
+ $this +
+
+ add($name, $value) + +

No description

+
+
+
+
+
+ +
+
+ get(string $key, $default = null) + +

Get collection item for key

+
+
+
+
+ +
+
+ replace(array $items) + +

Add item to collection

+
+
+
+
+ array +
+
+ gets(array $names) + +

No description

+
+
+
+
+ +
+ sets(array $data) + +

No description

+
+
+
+
+ +
+ reject(callable $filter) + +

No description

+
+
+
+
+ +
+ map(callable $callback) + +

No description

+
+
+
+
+
+ string +
+
+ implode(string $char = ',') + +

No description

+
+
+
+
+
+ array +
+
+ all() + +

Get all items in collection

+
+
+
+
+ array +
+
+ toArray() + +

No description

+
+
+
+
+
+ array +
+
+ keys() + +

Get collection keys

+
+
+
+
+ bool +
+
+ has(string $key) + +

Does this collection have a given key?

+
+
+
+
+ mixed +
+
+ remove($key) + +

Remove item from collection

+
+
+
+
+ +
+
+ clear() + +

Remove all items from collection

+
+
+
+
+ bool +
+
+ offsetExists(string $key) + +

Does this collection have a given key?

+
+
+
+
+ mixed +
+
+ offsetGet(string $key) + +

Get collection item for key

+
+
+
+
+ +
+
+ offsetSet(string $key, mixed $value) + +

Set collection item

+
+
+
+
+ mixed|null +
+
+ offsetUnset(string $key) + +

Remove item from collection

+
+
+
+
+ int +
+
+ count() + +

Get number of items in collection

+
+
+
+
+ array +
+
+ jsonSerialize() + +

No description

+
+
+
+
+
+ string +
+
+ serialize() + +

No description

+
+
+
+
+
+ +
+
+ unserialize(string $serialized, bool|array $allowedClasses = false) + +

No description

+
+
+
+
+ +
+ getIterator() + +

Get collection iterator

+
+
+
+
+ mixed +
+
+ __get($name) + +

No description

+
+
+
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+
+
+
+
+ +
+
+ __isset($name) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ static SimpleCollection + make(array|null $items = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array|null$items
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
at line 35
+ + __construct(array $items = []) + +

+
+ + + +
+

Create new collection

+
+

Parameters

+ + + + + + + +
array$itemsPre-populate collection with this key-value array
+ + + + +
+
+ +
+
+

+
at line 40
+ + __destruct() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 55
+ + set($key, $value) + +

+
+ + + +
+

Set collection item

+
+

Parameters

+ + + + + + + + + + + + +
$key
$value
+ + + + +
+
+ +
+
+

+
at line 67
+ $this + add($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 82
+ + get(string $key, $default = null) + +

+
+ + + +
+

Get collection item for key

+
+

Parameters

+ + + + + + + + + + + + +
string$key
$default
+ + + + +
+
+ +
+
+

+
at line 91
+ + replace(array $items) + +

+
+ + + +
+

Add item to collection

+
+

Parameters

+ + + + + + + +
array$items
+ + + + +
+
+ +
+
+

+
at line 102
+ array + gets(array $names) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$names
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 117
+ SimpleCollection + sets(array $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$data
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
at line 130
+ SimpleCollection + reject(callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$filter
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
at line 149
+ SimpleCollection + map(callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + +
callable$callback
+ + +

Return Value

+ + + + + + +
SimpleCollection
+ + + +
+
+ +
+
+

+
at line 165
+ string + implode(string $char = ',') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$char
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 174
+ array + all() + +

+
+ + + +
+

Get all items in collection

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 182
+ array + toArray() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 191
+ array + keys() + +

+
+ + + +
+

Get collection keys

+
+ +

Return Value

+ + + + + + +
arrayThe collection's source data keys
+ + + +
+
+ +
+
+

+
at line 201
+ bool + has(string $key) + +

+
+ + + +
+

Does this collection have a given key?

+
+

Parameters

+ + + + + + + +
string$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 211
+ mixed + remove($key) + +

+
+ + + +
+

Remove item from collection

+
+

Parameters

+ + + + + + + +
$key
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 226
+ + clear() + +

+
+ + + +
+

Remove all items from collection

+
+ + + +
+
+ +
+
+

+
at line 240
+ bool + offsetExists(string $key) + +

+
+ + + +
+

Does this collection have a given key?

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 250
+ mixed + offsetGet(string $key) + +

+
+ + + +
+

Get collection item for key

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
mixedThe key's value, or the default value
+ + + +
+
+ +
+
+

+
at line 260
+ + offsetSet(string $key, mixed $value) + +

+
+ + + +
+

Set collection item

+
+

Parameters

+ + + + + + + + + + + + +
string$keyThe data key
mixed$valueThe data value
+ + + + +
+
+ +
+
+

+
at line 270
+ mixed|null + offsetUnset(string $key) + +

+
+ + + +
+

Remove item from collection

+
+

Parameters

+ + + + + + + +
string$keyThe data key
+ + +

Return Value

+ + + + + + +
mixed|null
+ + + +
+
+ +
+
+

+
at line 283
+ int + count() + +

+
+ + + +
+

Get number of items in collection

+
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 295
+ array + jsonSerialize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 307
+ string + serialize() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 316
+ + unserialize(string $serialized, bool|array $allowedClasses = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$serialized
bool|array$allowedClasses
+ + + + +
+
+ +
+
+

+
at line 329
+ ArrayIterator + getIterator() + +

+
+ + + +
+

Get collection iterator

+
+ +

Return Value

+ + + + + + +
ArrayIterator
+ + + +
+
+ +
+
+

+
at line 342
+ mixed + __get($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 347
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + + +
+
+ +
+
+

+
at line 352
+ + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI.html b/classes-docs/master/Toolkit/DI.html new file mode 100644 index 0000000..c29b758 --- /dev/null +++ b/classes-docs/master/Toolkit/DI.html @@ -0,0 +1,166 @@ + + + + + + Toolkit\DI | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

Namespaces

+ + +

Classes

+ +
+
+ +
+ This class resolves a string of the format 'class:method' into a closure +that can be dispatched. +
+
+
+ +
+ ResolveCallable +
+
+
+
+ Container + +
+
+ Class Container +
+
+
+
+ DIManager + +
+
+ Class DIManager - Container Manager +
+
+
+ +
+ Class NameAliasTrait +
+
+
+
+ Service + +
+
+ Class Service +
+
+
+ +

Interfaces

+ +
+
+ +
+ Interface InterfaceServiceProvider +
+
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/CallableResolver.html b/classes-docs/master/Toolkit/DI/CallableResolver.html new file mode 100644 index 0000000..c639c69 --- /dev/null +++ b/classes-docs/master/Toolkit/DI/CallableResolver.html @@ -0,0 +1,233 @@ + + + + + + Toolkit\DI\CallableResolver | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + CallableResolver implements + CallableResolverInterface +

+ + + + +
+

This class resolves a string of the format 'class:method' into a closure +that can be dispatched.

+ + +

Constants

+ + + + + + +
CALLABLE_PATTERN +

+

+
+ + + +

Methods

+ +
+
+
+ +
+
+ __construct(ContainerInterface $container) + +

No description

+
+
+
+
+
+ callable +
+
+ resolve(mixed $toResolve) + +

Resolve toResolve into a closure that that the router can dispatch.

+
+
+
+ + +

Details

+ +
+
+

+
at line 29
+ + __construct(ContainerInterface $container) + +

+
+ + + +
+

Parameters

+ + + + + + + +
ContainerInterface$container
+ + + + +
+
+ +
+
+

+
at line 47
+ callable + resolve(mixed $toResolve) + +

+
+ + + +
+

Resolve toResolve into a closure that that the router can dispatch.

If toResolve is of the format 'class:method', then try to extract 'class' +from the container otherwise instantiate it and then dispatch 'method'.

+
+

Parameters

+ + + + + + + +
mixed$toResolve
+ + +

Return Value

+ + + + + + +
callable
+ + +

Exceptions

+ + + + + + + + + + +
RuntimeExceptionif the callable does not exist
RuntimeExceptionif the callable is not resolvable
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/CallableResolverAwareTrait.html b/classes-docs/master/Toolkit/DI/CallableResolverAwareTrait.html new file mode 100644 index 0000000..53585a4 --- /dev/null +++ b/classes-docs/master/Toolkit/DI/CallableResolverAwareTrait.html @@ -0,0 +1,195 @@ + + + + + + Toolkit\DI\CallableResolverAwareTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + CallableResolverAwareTrait +

+ + + + +
+

ResolveCallable

This is an internal class that enables resolution of 'class:method' strings +into a closure. This class is an implementation detail and is used only inside +of the Slim application.

+ + + +

Properties

+ + + + + + + + +
+ ContainerInterface + $container
+ + +

Methods

+ +
+
+
+ Closure +
+
+ resolveCallable(callable|string $callable) + +

Resolve a string of the format 'class:method' into a closure that the +router can dispatch.

+
+
+
+ + +

Details

+ +
+
+

+
at line 34
+ protected Closure + resolveCallable(callable|string $callable) + +

+
+ + + +
+

Resolve a string of the format 'class:method' into a closure that the +router can dispatch.

+
+

Parameters

+ + + + + + + +
callable|string$callable
+ + +

Return Value

+ + + + + + +
Closure
+ + +

Exceptions

+ + + + + + + + + + +
ContainerExceptionInterface
RuntimeExceptionIf the string cannot be resolved as a callable
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/Container.html b/classes-docs/master/Toolkit/DI/Container.html new file mode 100644 index 0000000..b07758d --- /dev/null +++ b/classes-docs/master/Toolkit/DI/Container.html @@ -0,0 +1,2276 @@ + + + + + + Toolkit\DI\Container | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Container implements + ContainerInterface, ArrayAccess, IteratorAggregate, Countable +

+ + + + +
+

Class Container

+ +

Traits

+ + +
+
+ +
+ Class NameAliasTrait +
+
+
+ +

Constants

+ + + + + + +
DEFAULT_OPTIONS +

+

+
+ + +

Properties

+ + + + + + + + + + + + + + + + + + + + +
+ protected array + $aliases服务别名
+ string + $name当前容器名称,初始时即固定
+ protected Container + $parent当前容器的父级容器
+ + +

Methods

+ +
+
+
+ bool|string +
+
+ alias(array|string $name, array|string|null $alias = null) + +

set/get name alias

+ +
+
+
+ mixed +
+
+ resolveAlias(string $alias) + +

No description

+
+
+
+
+
+ bool +
+
+ hasAlias(string $alias) + +

No description

+
+ +
+
+
+ array +
+
+ getAliases() + +

No description

+
+ +
+
+
+ $this +
+
+ setAliases(array $aliases) + +

No description

+
+ +
+
+
+ +
+
+ __construct(array $services = [], Container $parent = null) + +

Container constructor.

+
+
+
+
+ +
+
+ __destruct() + +

No description

+
+
+
+
+
+ $this +
+
+ set(string $id, $definition, array $opts = []) + +

在容器注册服务(详细的参数信息请查看README.md)

+
+
+
+
+ $this +
+
+ sets(array $services) + +

通过设置配置的多维数组 注册多个服务. 服务详细设置请看{see self::set()}

+
+
+
+
+ $this +
+
+ protect(string $id, $definition, $share = false) + +

注册受保护的服务 alias of the lock()

+
+
+
+
+ $this +
+
+ lock(string $id, $definition, $share = false) + +

(注册)锁定的服务,也可在注册后锁定,防止 getNew() 强制重载

+
+
+
+
+ $this +
+
+ registerServiceProvider(ServiceProviderInterface $provider) + +

注册服务提供者(可能含有多个服务)

+
+
+
+
+ $this +
+
+ registerServiceProviders(array $providers) + +

No description

+
+
+
+
+
+ callable +
+
+ createCallback(mixed $target, array $arguments = [], array $props = []) + +

创建(类实例/类的方法)回调

+
+
+
+
+ mixed +
+
+ get(string $id) + +

get 获取已注册的服务组件实例 + - (单例)共享服务总是获取已存储的实例 + - 其他的则总是返回新的实例

+
+
+
+
+ mixed +
+
+ getNew(string $id) + +

强制获取服务的新实例,针对共享服务

+
+
+
+
+ mixed|null +
+
+ new(string $id) + +

No description

+
+
+
+
+
+ mixed|null +
+
+ getIfExist(string $id) + +

若存在服务则返回 否则返回 null

+
+
+
+
+ mixed +
+
+ raw(string $id) + +

No description

+
+
+
+
+
+ +
+
+ del(string $id) + +

删除服务

+
+
+
+
+ mixed|null +
+
+ getInstance(string $id, bool $thrErr = true, bool $forceNew = false) + +

get 获取已注册的服务组件实例

+
+
+
+
+ Service|null +
+
+ getService(string $id, bool $thrErr = false) + +

获取某一个服务的信息

+
+
+
+
+ +
+
+ clear() + +

clear

+
+
+
+
+ array +
+
+ getServices() + +

获取全部服务信息

+
+
+
+
+ Container +
+
+ setParent(Container $parent) + +

Method to set property parent

+
+
+
+
+ array +
+
+ getIds(bool $toArray = true) + +

获取全部服务id

+
+
+
+
+ bool +
+
+ isShared(string $id) + +

No description

+
+
+
+
+
+ bool +
+
+ isLocked(string $id) + +

No description

+
+
+
+
+
+ bool|Service +
+
+ has(string $id) + +

是已注册的服务

+
+
+
+
+ bool +
+
+ exists(string $id) + +

No description

+
+
+
+
+
+ bool|Service +
+
+ __isset($name) + +

No description

+
+
+
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+
+
+
+
+ bool +
+
+ __get($name) + +

No description

+
+
+
+
+
+ int +
+
+ count() + +

No description

+
+
+
+
+ +
+ getIterator() + +

Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach

+
+
+
+
+ boolean +
+
+ offsetExists(mixed $offset) + +

Checks whether an offset exists in the iterator.

+
+
+
+
+ mixed +
+
+ offsetGet(mixed $offset) + +

Gets an offset in the iterator.

+
+
+
+
+ $this +
+
+ offsetSet(mixed $offset, mixed $value) + +

Sets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+
+
+
+ + +

Details

+ +
+
+

+
in NameAliasTrait at line 26
+ bool|string + alias(array|string $name, array|string|null $alias = null) + +

+
+ + + +
+

set/get name alias

+
+

Parameters

+ + + + + + + + + + + + +
array|string$name
array|string|null$alias
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 485
+ mixed + resolveAlias(string $alias) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$alias
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in NameAliasTrait at line 72
+ bool + hasAlias(string $alias) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$alias
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in NameAliasTrait at line 80
+ array + getAliases() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in NameAliasTrait at line 89
+ $this + setAliases(array $aliases) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$aliases
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 79
+ + __construct(array $services = [], Container $parent = null) + +

+
+ + + +
+

Container constructor.

+
+

Parameters

+ + + + + + + + + + + + +
array$services
Container$parent
+ + + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 86
+ + __destruct() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 103
+ $this + set(string $id, $definition, array $opts = []) + +

+
+ + + +
+

在容器注册服务(详细的参数信息请查看README.md)

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$id服务组件注册id
$definition
array$opts
+ + +

Return Value

+ + + + + + +
$this
+ + +

Exceptions

+ + + + + + +
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 183
+ $this + sets(array $services) + +

+
+ + + +
+

通过设置配置的多维数组 注册多个服务. 服务详细设置请看{see self::set()}

+
+

Parameters

+ + + + + + + +
array$services
+ + +

Return Value

+ + + + + + +
$this
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 215
+ $this + protect(string $id, $definition, $share = false) + +

+
+ + + +
+

注册受保护的服务 alias of the lock()

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$id[description]
$definition
$share
+ + +

Return Value

+ + + + + + +
$this
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 229
+ $this + lock(string $id, $definition, $share = false) + +

+
+ + + +
+

(注册)锁定的服务,也可在注册后锁定,防止 getNew() 强制重载

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$iddescription
$definition
$share
+ + +

Return Value

+ + + + + + +
$this
+ + +

Exceptions

+ + + + + + + + + + +
DependencyResolutionException
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 242
+ $this + registerServiceProvider(ServiceProviderInterface $provider) + +

+
+ + + +
+

注册服务提供者(可能含有多个服务)

+
+

Parameters

+ + + + + + + +
ServiceProviderInterface$provider在提供者内添加需要的服务到容器
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 253
+ $this + registerServiceProviders(array $providers) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$providers
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 272
+ callable + createCallback(mixed $target, array $arguments = [], array $props = []) + +

+
+ + + +
+

创建(类实例/类的方法)回调

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
mixed$target
array$arguments
array$props
+ + +

Return Value

+ + + + + + +
callable
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 353
+ mixed + get(string $id) + +

+
+ + + +
+

get 获取已注册的服务组件实例 + - (单例)共享服务总是获取已存储的实例 + - 其他的则总是返回新的实例

+
+

Parameters

+ + + + + + + +
string$id要获取的服务组件id
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 374
+ mixed + getNew(string $id) + +

+
+ + + +
+

强制获取服务的新实例,针对共享服务

+
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 383
+ mixed|null + new(string $id) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
mixed|null
+ + + +
+
+ +
+
+

+
at line 394
+ mixed|null + getIfExist(string $id) + +

+
+ + + +
+

若存在服务则返回 否则返回 null

+
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
mixed|null
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 405
+ mixed + raw(string $id) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 420
+ + del(string $id) + +

+
+ + + +
+

删除服务

+
+

Parameters

+ + + + + + + +
string$id
+ + + + +
+
+ +
+
+

+
at line 441
+ mixed|null + getInstance(string $id, bool $thrErr = true, bool $forceNew = false) + +

+
+ + + +
+

get 获取已注册的服务组件实例

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$id
bool$thrErr
bool$forceNew强制获取服务的新实例
+ + +

Return Value

+ + + + + + +
mixed|null
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 466
+ Service|null + getService(string $id, bool $thrErr = false) + +

+
+ + + +
+

获取某一个服务的信息

+
+

Parameters

+ + + + + + + + + + + + +
string$id
bool$thrErr
+ + +

Return Value

+ + + + + + +
Service|null
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 498
+ + clear() + +

+
+ + + +
+

clear

+
+ + + +
+
+ +
+
+

+
at line 512
+ array + getServices() + +

+
+ + + +
+

获取全部服务信息

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 522
+ Container + setParent(Container $parent) + +

+
+ + + +
+

Method to set property parent

+
+

Parameters

+ + + + + + + +
Container$parentParent container.
+ + +

Return Value

+ + + + + + +
ContainerReturn self to support chaining.
+ + + +
+
+ +
+
+

+
at line 534
+ array + getIds(bool $toArray = true) + +

+
+ + + +
+

获取全部服务id

+
+

Parameters

+ + + + + + + +
bool$toArray
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 546
+ bool + isShared(string $id) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 560
+ bool + isLocked(string $id) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 576
+ bool|Service + has(string $id) + +

+
+ + + +
+

是已注册的服务

+
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
bool|Service
+ + + +
+
+ +
+
+

+
at line 585
+ bool + exists(string $id) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$id
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 614
+ bool|Service + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
bool|Service
+ + + +
+
+ +
+
+

+
at line 625
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 636
+ bool + __get($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
NotFoundException
+ + +
+
+ +
+
+

+
at line 658
+ int + count() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 668
+ ArrayIterator + getIterator() + +

+
+ + + +
+

Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach

+
+ +

Return Value

+ + + + + + +
ArrayIterator
+ + + +
+
+ +
+
+

+
at line 678
+ boolean + offsetExists(mixed $offset) + +

+
+ + + +
+

Checks whether an offset exists in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
booleanTrue if the offset exists, false otherwise.
+ + + +
+
+ +
+
+

+
at line 689
+ mixed + offsetGet(mixed $offset) + +

+
+ + + +
+

Gets an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixedThe array value if it exists, null otherwise.
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 702
+ $this + offsetSet(mixed $offset, mixed $value) + +

+
+ + + +
+

Sets an offset in the iterator.

+
+

Parameters

+ + + + + + + + + + + + +
mixed$offsetThe array offset.
mixed$valueThe array value.
+ + +

Return Value

+ + + + + + +
$this
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 712
+ void + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/DIManager.html b/classes-docs/master/Toolkit/DI/DIManager.html new file mode 100644 index 0000000..a5327df --- /dev/null +++ b/classes-docs/master/Toolkit/DI/DIManager.html @@ -0,0 +1,388 @@ + + + + + + Toolkit\DI\DIManager | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + DIManager +

+ + + + +
+

Class DIManager - Container Manager

+ + + + +

Methods

+ +
+
+
+ static Container +
+
+ getDefault() + +

No description

+
+
+
+
+
+ static Container +
+
+ getContainer(string $name = null) + +

No description

+
+
+
+
+
+ static Container +
+
+ make(string $name = null, string $group = null) + +

No description

+
+
+
+
+
+ static void +
+
+ setDefaultGroup(string $group = 'di') + +

setProfile

+
+
+
+
+ static string +
+
+ getDefaultGroup() + +

Method to get property Profile

+
+
+
+
+ static  +
+
+ reset(string $group = null) + +

reset

+
+
+
+ + +

Details

+ +
+
+

+
at line 36
+ static Container + getDefault() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
Container
+ + + +
+
+ +
+
+

+
at line 45
+ static Container + getContainer(string $name = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
Container
+ + + +
+
+ +
+
+

+
at line 55
+ static Container + make(string $name = null, string $group = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
string$group
+ + +

Return Value

+ + + + + + +
Container
+ + + +
+
+ +
+
+

+
at line 85
+ static void + setDefaultGroup(string $group = 'di') + +

+
+ + + +
+

setProfile

+
+

Parameters

+ + + + + + + +
string$group
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 103
+ static string + getDefaultGroup() + +

+
+ + + +
+

Method to get property Profile

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 112
+ static + reset(string $group = null) + +

+
+ + + +
+

reset

+
+

Parameters

+ + + + + + + +
string$group
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/Exception.html b/classes-docs/master/Toolkit/DI/Exception.html new file mode 100644 index 0000000..2f511c2 --- /dev/null +++ b/classes-docs/master/Toolkit/DI/Exception.html @@ -0,0 +1,113 @@ + + + + + + Toolkit\DI\Exception | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Class DependencyResolutionException +
+
+
+ +
+ Class NotFoundException +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/Exception/DependencyResolutionException.html b/classes-docs/master/Toolkit/DI/Exception/DependencyResolutionException.html new file mode 100644 index 0000000..eca1117 --- /dev/null +++ b/classes-docs/master/Toolkit/DI/Exception/DependencyResolutionException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\DI\Exception\DependencyResolutionException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + DependencyResolutionException extends RuntimeException +

+ + + + +
+

Class DependencyResolutionException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/Exception/NotFoundException.html b/classes-docs/master/Toolkit/DI/Exception/NotFoundException.html new file mode 100644 index 0000000..a9cf589 --- /dev/null +++ b/classes-docs/master/Toolkit/DI/Exception/NotFoundException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\DI\Exception\NotFoundException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + NotFoundException extends RuntimeException +

+ + + + +
+

Class NotFoundException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/NameAliasTrait.html b/classes-docs/master/Toolkit/DI/NameAliasTrait.html new file mode 100644 index 0000000..66328bf --- /dev/null +++ b/classes-docs/master/Toolkit/DI/NameAliasTrait.html @@ -0,0 +1,369 @@ + + + + + + Toolkit\DI\NameAliasTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + NameAliasTrait +

+ + + + +
+

Class NameAliasTrait

+ + + +

Properties

+ + + + + + + + +
+ array + $aliasespath alias array
+ + +

Methods

+ +
+
+
+ bool|string +
+
+ alias(array|string $name, array|string|null $alias = null) + +

set/get name alias

+
+
+
+
+ mixed +
+
+ resolveAlias(string $alias) + +

No description

+
+
+
+
+
+ bool +
+
+ hasAlias(string $alias) + +

No description

+
+
+
+
+
+ array +
+
+ getAliases() + +

No description

+
+
+
+
+
+ $this +
+
+ setAliases(array $aliases) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ bool|string + alias(array|string $name, array|string|null $alias = null) + +

+
+ + + +
+

set/get name alias

+
+

Parameters

+ + + + + + + + + + + + +
array|string$name
array|string|null$alias
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 63
+ mixed + resolveAlias(string $alias) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$alias
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 72
+ bool + hasAlias(string $alias) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$alias
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 80
+ array + getAliases() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 89
+ $this + setAliases(array $aliases) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$aliases
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/Service.html b/classes-docs/master/Toolkit/DI/Service.html new file mode 100644 index 0000000..b9af6cf --- /dev/null +++ b/classes-docs/master/Toolkit/DI/Service.html @@ -0,0 +1,621 @@ + + + + + + Toolkit\DI\Service | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Service +

+ + + + +
+

Class Service

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct($callback, array $arguments = [], bool $shared = false, bool $locked = false) + +

Service constructor.

+
+
+
+
+ +
+
+ __destruct() + +

__destruct

+
+
+
+
+ mixed|null +
+
+ get(Container $container, bool $forceNew = false) + +

No description

+
+
+
+
+
+ mixed +
+
+ getCallback() + +

No description

+
+
+
+
+
+ +
+
+ setCallback($callback) + +

No description

+
+
+
+
+
+ array +
+
+ getArguments() + +

No description

+
+
+
+
+
+ +
+
+ setArguments(array $params) + +

给服务设置参数,在获取服务实例前

+
+
+
+
+ mixed +
+
+ getInstance() + +

No description

+
+
+
+
+
+ bool +
+
+ isLocked() + +

No description

+
+
+
+
+
+ +
+
+ setLocked(bool $locked = true) + +

No description

+
+
+
+
+
+ bool +
+
+ isShared() + +

No description

+
+
+
+
+
+ +
+
+ setShared(bool $shared = true) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 53
+ + __construct($callback, array $arguments = [], bool $shared = false, bool $locked = false) + +

+
+ + + +
+

Service constructor.

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$callback
array$arguments
bool$shared
bool$locked
+ + + + +
+
+ +
+
+

+
at line 73
+ + __destruct() + +

+
+ + + +
+

__destruct

+
+ + + +
+
+ +
+
+

+
at line 83
+ mixed|null + get(Container $container, bool $forceNew = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
Container$container
bool$forceNew
+ + +

Return Value

+ + + + + + +
mixed|null
+ + + +
+
+ +
+
+

+
at line 104
+ mixed + getCallback() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 112
+ + setCallback($callback) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$callback
+ + + + +
+
+ +
+
+

+
at line 128
+ array + getArguments() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 138
+ + setArguments(array $params) + +

+
+ + + +
+

给服务设置参数,在获取服务实例前

+
+

Parameters

+ + + + + + + +
array$params设置参数
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 146
+ mixed + getInstance() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 154
+ bool + isLocked() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 162
+ + setLocked(bool $locked = true) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$locked
+ + + + +
+
+ +
+
+

+
at line 170
+ bool + isShared() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 178
+ + setShared(bool $shared = true) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$shared
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DI/ServiceProviderInterface.html b/classes-docs/master/Toolkit/DI/ServiceProviderInterface.html new file mode 100644 index 0000000..fff2ac0 --- /dev/null +++ b/classes-docs/master/Toolkit/DI/ServiceProviderInterface.html @@ -0,0 +1,156 @@ + + + + + + Toolkit\DI\ServiceProviderInterface | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

interface + ServiceProviderInterface +

+ + + + +
+

Interface InterfaceServiceProvider

+ + + + +

Methods

+ +
+
+
+ +
+
+ register(Container $container) + +

注册一项服务(可能含有多个服务)提供者到容器中

+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ + register(Container $container) + +

+
+ + + +
+

注册一项服务(可能含有多个服务)提供者到容器中

+
+

Parameters

+ + + + + + + +
Container$container
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser.html b/classes-docs/master/Toolkit/DataParser.html new file mode 100644 index 0000000..54dc904 --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser.html @@ -0,0 +1,153 @@ + + + + + + Toolkit\DataParser | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Class DataParserAwareTrait +
+
+
+
+ JsonParser + +
+
+ Class JsonParser +
+
+
+ +
+ Class MsgPackParser +
+
+
+
+ PhpParser + +
+
+ Class PhpParser +
+
+
+
+ SwooleParser + +
+
+ Class SwooleParser +
+
+
+ +

Interfaces

+ +
+
+ +
+ Interface ParserInterface +
+
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser/DataParserAwareTrait.html b/classes-docs/master/Toolkit/DataParser/DataParserAwareTrait.html new file mode 100644 index 0000000..e6af63b --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser/DataParserAwareTrait.html @@ -0,0 +1,194 @@ + + + + + + Toolkit\DataParser\DataParserAwareTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + DataParserAwareTrait +

+ + + + +
+

Class DataParserAwareTrait

+ + + + +

Methods

+ +
+
+ +
+ getParser() + +

No description

+
+
+
+
+
+ +
+
+ setParser(ParserInterface $parser) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 25
+ ParserInterface + getParser() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
ParserInterface
+ + + +
+
+ +
+
+

+
at line 37
+ + setParser(ParserInterface $parser) + +

+
+ + + +
+

Parameters

+ + + + + + + +
ParserInterface$parser
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser/JsonParser.html b/classes-docs/master/Toolkit/DataParser/JsonParser.html new file mode 100644 index 0000000..b7c5e66 --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser/JsonParser.html @@ -0,0 +1,347 @@ + + + + + + Toolkit\DataParser\JsonParser | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + JsonParser implements + ParserInterface +

+ + + + +
+

Class JsonParser

+ + + +

Properties

+ + + + + + + + +
+ protected bool + $assoc
+ + +

Methods

+ +
+
+
+ +
+
+ __construct(null $assoc = null) + +

JsonParser constructor.

+
+
+
+
+ mixed +
+
+ decode(string $data) + +

No description

+
+
+
+
+
+ string +
+
+ encode(mixed $data) + +

No description

+
+
+
+
+
+ bool +
+
+ isAssoc() + +

No description

+
+
+
+
+
+ +
+
+ setAssoc(bool $assoc) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ + __construct(null $assoc = null) + +

+
+ + + +
+

JsonParser constructor.

+
+

Parameters

+ + + + + + + +
null$assoc
+ + + + +
+
+ +
+
+

+
at line 37
+ mixed + decode(string $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$data
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 46
+ string + encode(mixed $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 54
+ bool + isAssoc() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 62
+ + setAssoc(bool $assoc) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$assoc
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser/MsgPackParser.html b/classes-docs/master/Toolkit/DataParser/MsgPackParser.html new file mode 100644 index 0000000..82c6574 --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser/MsgPackParser.html @@ -0,0 +1,254 @@ + + + + + + Toolkit\DataParser\MsgPackParser | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + MsgPackParser implements + ParserInterface +

+ + + + +
+

Class MsgPackParser

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct() + +

class constructor.

+
+
+
+
+ string +
+
+ encode(mixed $data) + +

No description

+
+
+
+
+
+ mixed +
+
+ decode(string $data) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ + __construct() + +

+
+ + + +
+

class constructor.

+
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 32
+ string + encode(mixed $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 41
+ mixed + decode(string $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$data
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser/ParserInterface.html b/classes-docs/master/Toolkit/DataParser/ParserInterface.html new file mode 100644 index 0000000..22f6753 --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser/ParserInterface.html @@ -0,0 +1,213 @@ + + + + + + Toolkit\DataParser\ParserInterface | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

interface + ParserInterface +

+ + + + +
+

Interface ParserInterface

+ + + + +

Methods

+ +
+
+
+ string +
+
+ encode(mixed $data) + +

No description

+
+
+
+
+
+ mixed +
+
+ decode(string $data) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ string + encode(mixed $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 27
+ mixed + decode(string $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$data
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser/PhpParser.html b/classes-docs/master/Toolkit/DataParser/PhpParser.html new file mode 100644 index 0000000..caf4866 --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser/PhpParser.html @@ -0,0 +1,214 @@ + + + + + + Toolkit\DataParser\PhpParser | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PhpParser implements + ParserInterface +

+ + + + +
+

Class PhpParser

+ + + + +

Methods

+ +
+
+
+ string +
+
+ encode(mixed $data) + +

No description

+
+
+
+
+
+ mixed +
+
+ decode(string $data) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ string + encode(mixed $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 30
+ mixed + decode(string $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$data
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/DataParser/SwooleParser.html b/classes-docs/master/Toolkit/DataParser/SwooleParser.html new file mode 100644 index 0000000..8dc4ad1 --- /dev/null +++ b/classes-docs/master/Toolkit/DataParser/SwooleParser.html @@ -0,0 +1,254 @@ + + + + + + Toolkit\DataParser\SwooleParser | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + SwooleParser implements + ParserInterface +

+ + + + +
+

Class SwooleParser

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct() + +

class constructor.

+
+
+
+
+ string +
+
+ encode(mixed $data) + +

No description

+
+
+
+
+
+ mixed +
+
+ decode(string $data) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 24
+ + __construct() + +

+
+ + + +
+

class constructor.

+
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 35
+ string + encode(mixed $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 44
+ mixed + decode(string $data) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$data
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Dev.html b/classes-docs/master/Toolkit/Dev.html new file mode 100644 index 0000000..7aae5e6 --- /dev/null +++ b/classes-docs/master/Toolkit/Dev.html @@ -0,0 +1,94 @@ + + + + + + Toolkit\Dev | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

Namespaces

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Dev/Console.html b/classes-docs/master/Toolkit/Dev/Console.html new file mode 100644 index 0000000..3461ad2 --- /dev/null +++ b/classes-docs/master/Toolkit/Dev/Console.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\Dev\Console | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Internal tool for toolkit development +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Dev/Console/DevController.html b/classes-docs/master/Toolkit/Dev/Console/DevController.html new file mode 100644 index 0000000..a97e3f8 --- /dev/null +++ b/classes-docs/master/Toolkit/Dev/Console/DevController.html @@ -0,0 +1,558 @@ + + + + + + Toolkit\Dev\Console\DevController | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + DevController extends Controller +

+ + + + +
+

Internal tool for toolkit development

+ + +

Constants

+ + + + + + + + + + +
TYPE_SSL +

+

+
TYPE_HTTPS +

+

+
+ + +

Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ static protected + $name
+ static protected + $description
+ string + $gitUrl
+ array + $components
+ string + $componentDir
+ + +

Methods

+ +
+
+
+ int +
+
+ listCommand(Input $input, Output $output) + +

List all swoft component names in the php-toolkit/toolkit

+
+
+
+
+ int +
+
+ addCommand(Input $input, Output $output) + +

Add component directory code from git repo by 'git subtree add'

+
+
+
+
+ int +
+
+ pullCommand(Input $input, Output $output) + +

Update component directory code from git repo by 'git subtree pull'

+
+
+
+
+ int +
+
+ pushCommand(Input $input, Output $output) + +

Push component[s] directory code to component's repo by 'git subtree push'

+
+
+
+
+ int +
+
+ runGitSubtree(Input $input, Output $output, array $config) + +

No description

+
+
+
+
+
+ int +
+
+ genApiCommand(Input $input, Output $output) + +

Generate classes API documents by 'sami/sami'

+
+
+
+ + +

Details

+ +
+
+

+
at line 53
+ int + listCommand(Input $input, Output $output) + +

+
+ + + +
+

List all swoft component names in the php-toolkit/toolkit

+
+

Parameters

+ + + + + + + + + + + + +
Input$input
Output$output
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 98
+ int + addCommand(Input $input, Output $output) + +

+
+ + + +
+

Add component directory code from git repo by 'git subtree add'

+
+

Parameters

+ + + + + + + + + + + + +
Input$input
Output$output
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 143
+ int + pullCommand(Input $input, Output $output) + +

+
+ + + +
+

Update component directory code from git repo by 'git subtree pull'

+
+

Parameters

+ + + + + + + + + + + + +
Input$input
Output$output
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 179
+ int + pushCommand(Input $input, Output $output) + +

+
+ + + +
+

Push component[s] directory code to component's repo by 'git subtree push'

+
+

Parameters

+ + + + + + + + + + + + +
Input$input
Output$output
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 199
+ protected int + runGitSubtree(Input $input, Output $output, array $config) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
Input$input
Output$output
array$config
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 291
+ int + genApiCommand(Input $input, Output $output) + +

+
+ + + +
+

Generate classes API documents by 'sami/sami'

+
+

Parameters

+ + + + + + + + + + + + +
Input$input
Output$output
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil.html b/classes-docs/master/Toolkit/FileUtil.html new file mode 100644 index 0000000..3389984 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil.html @@ -0,0 +1,152 @@ + + + + + + Toolkit\FileUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

Namespaces

+ + +

Classes

+ +
+
+
+ Directory + +
+
+ Class Directory +
+
+
+
+ File + +
+
+ Class File +
+
+
+
+ FileFinder + +
+
+ Class FileFinder +
+
+
+
+ FileSystem + +
+
+ Class FileSystem +
+
+
+ +
+ Class FilesWatcher - Check Dir's files modified by md5_file() +
+
+
+
+ ReadTrait + +
+
+ Class Read +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/Directory.html b/classes-docs/master/Toolkit/FileUtil/Directory.html new file mode 100644 index 0000000..57f01c4 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/Directory.html @@ -0,0 +1,1797 @@ + + + + + + Toolkit\FileUtil\Directory | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Directory extends FileSystem +

+ + + + +
+

Class Directory

+ + + + +

Methods

+ +
+
+
+ static bool +
+
+ isAbsPath(string $path) + +

No description

+
+ +
+
+
+ static bool +
+
+ isAbsolutePath(string $file) + +

Returns whether the file path is an absolute path.

+ +
+
+
+ static string +
+
+ pathFormat(string $dirName) + +

转换为标准的路径结构

+ +
+
+
+ string +
+
+ clearPharPath(string $path) + +

No description

+
+ +
+
+
+ static array|string +
+
+ exists(string $file, null|string $type = null) + +

检查文件/夹/链接是否存在

+ +
+
+
+ static  +
+
+ check(string $file, null|string|array $ext = null) + +

No description

+
+ +
+
+
+ static  +
+
+ rename(string $origin, string $target, bool $overwrite = false) + +

Renames a file or a directory.

+ +
+
+
+ static bool +
+
+ isReadable(string $filename) + +

Tells whether a file exists and is readable.

+ +
+
+
+ static  +
+
+ mkdir(string|array|Traversable $dirs, int $mode = 0777) + +

Creates a directory recursively.

+ +
+
+
+ static  +
+
+ chmod(string|array|Traversable $files, int $mode, int $umask = 00, bool $recursive = false) + +

Change mode for an array of files or directories.

+ +
+
+
+ static  +
+
+ chown(string|array|Traversable $files, string $user, bool $recursive = false) + +

Change the owner of an array of files or directories.

+ +
+
+ +
+ getIterator(string $srcDir, callable $filter) + +

No description

+
+ +
+
+
+ static bool +
+
+ chmodDir(string $path, int $mode = 0664) + +

No description

+
+ +
+
+
+ static string +
+
+ availableSpace(string $dir = '.') + +

No description

+
+ +
+
+
+ static string +
+
+ countSpace(string $dir = '.') + +

No description

+
+ +
+
+
+ static int +
+
+ pathModeInfo(string $file_path) + +

文件或目录权限检查函数

+ +
+
+ +
+ getRecursiveIterator(string $srcDir, callable $filter) + +

```php +$filter = function ($current, $key, $iterator) { + // \SplFileInfo $current + // Skip hidden files and directories.

+
+
+
+
+ static bool +
+
+ isEmpty($dir) + +

判断文件夹是否为空

+
+
+
+
+ static array +
+
+ ls($path) + +

查看一个目录中的所有文件和子目录

+
+
+
+
+ static array +
+
+ getList($path, int $pid = 0, int $son = 0, array $list = []) + +

只获得目录结构

+
+
+
+
+ static array +
+
+ getDirs($path, bool $loop = false, null $parent = null, array $list = []) + +

No description

+
+
+
+
+
+ static array +
+
+ simpleInfo(string $dir, string|array $ext = null, bool $recursive = false) + +

获得目录下的文件,可选择类型、是否遍历子文件夹

+
+
+
+
+ static array +
+
+ getFiles(string $path, array|string $ext = null, bool $recursive = false, null|string $parent = null, array $list = []) + +

获得目录下的文件,可选择类型、是否遍历子文件夹

+
+
+
+
+ static array +
+
+ getFilesInfo($path, array|string $ext = null, $recursive = 0, array $list) + +

获得目录下的文件以及详细信息,可选择类型、是否遍历子文件夹

+
+
+
+
+ static bool +
+
+ create($path, int|string $mode = 0775, bool $recursive = true) + +

支持层级目录的创建

+
+
+
+
+ static bool +
+
+ copy($oldDir, $newDir) + +

复制目录内容

+
+
+
+
+ static bool +
+
+ delete($path, boolean $delSelf = true) + +

删除目录及里面的文件

+
+
+
+
+ static string +
+
+ comparePath($newPath, $oldPath) + +

比较文件路径

+
+
+
+ + +

Details

+ +
+
+

+
in FileSystem at line 27
+ static bool + isAbsPath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in FileSystem at line 49
+ static bool + isAbsolutePath(string $file) + +

+
+ + + +
+

Returns whether the file path is an absolute path.

+
+

Parameters

+ + + + + + + +
string$fileA file path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in FileSystem at line 64
+ static string + pathFormat(string $dirName) + +

+
+ + + +
+

转换为标准的路径结构

+
+

Parameters

+ + + + + + + +
string$dirName
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 75
+ string + clearPharPath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$pathe.g phar://E:/workenv/php-dockerized/www/phplang/ugirls-social/social-uem/uem.phar/web
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 94
+ static array|string + exists(string $file, null|string $type = null) + +

+
+ + + +
+

检查文件/夹/链接是否存在

+
+

Parameters

+ + + + + + + + + + + + +
string$file要检查的目标
null|string$type
+ + +

Return Value

+ + + + + + +
array|string
+ + + +
+
+ +
+
+

+
in FileSystem at line 119
+ static + check(string $file, null|string|array $ext = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$file
null|string|array$exteg: 'jpg|gif'
+ + + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
InvalidArgumentException
+ + +
+
+ +
+
+

+
in FileSystem at line 145
+ static + rename(string $origin, string $target, bool $overwrite = false) + +

+
+ + + +
+

Renames a file or a directory.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$originThe origin filename or directory
string$targetThe new filename or directory
bool$overwriteWhether to overwrite the target if it already exists
+ + + +

Exceptions

+ + + + + + + + + + +
IOExceptionWhen target file or directory already exists
IOExceptionWhen origin cannot be renamed
+ + +
+
+ +
+
+

+
in FileSystem at line 164
+ static bool + isReadable(string $filename) + +

+
+ + + +
+

Tells whether a file exists and is readable.

+
+

Parameters

+ + + + + + + +
string$filenamePath to the file
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
IOExceptionWhen windows path is longer than 258 characters
+ + +
+
+ +
+
+

+
in FileSystem at line 179
+ static + mkdir(string|array|Traversable $dirs, int $mode = 0777) + +

+
+ + + +
+

Creates a directory recursively.

+
+

Parameters

+ + + + + + + + + + + + +
string|array|Traversable$dirsThe directory path
int$modeThe directory mode
+ + + +

Exceptions

+ + + + + + +
IOExceptionOn any directory creation failure
+ + +
+
+ +
+
+

+
in FileSystem at line 210
+ static + chmod(string|array|Traversable $files, int $mode, int $umask = 00, bool $recursive = false) + +

+
+ + + +
+

Change mode for an array of files or directories.

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string|array|Traversable$filesA filename, an array of files, or a \Traversable instance to change mode
int$modeThe new mode (octal)
int$umaskThe mode mask (octal)
bool$recursiveWhether change the mod recursively or not
+ + + +

Exceptions

+ + + + + + +
IOExceptionWhen the change fail
+ + +
+
+ +
+
+

+
in FileSystem at line 231
+ static + chown(string|array|Traversable $files, string $user, bool $recursive = false) + +

+
+ + + +
+

Change the owner of an array of files or directories.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array|Traversable$filesA filename, an array of files, or a \Traversable instance to change owner
string$userThe new owner user name
bool$recursiveWhether change the owner recursively or not
+ + + +

Exceptions

+ + + + + + +
IOExceptionWhen the change fail
+ + +
+
+ +
+
+

+
in FileSystem at line 255
+ static RecursiveIteratorIterator + getIterator(string $srcDir, callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$srcDir
callable$filter
+ + +

Return Value

+ + + + + + +
RecursiveIteratorIterator
+ + + +
+
+ +
+
+

+
in FileSystem at line 272
+ static bool + chmodDir(string $path, int $mode = 0664) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$path
int$mode
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in FileSystem at line 305
+ static string + availableSpace(string $dir = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$dir
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 322
+ static string + countSpace(string $dir = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$dir
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 342
+ static int + pathModeInfo(string $file_path) + +

+
+ + + +
+

文件或目录权限检查函数

+
+

Parameters

+ + + + + + + +
string$file_path文件路径
+ + +

Return Value

+ + + + + + +
int返回值的取值范围为{0 <= x <= 15},每个值表示的含义可由四位二进制数组合推出。 + 返回值在二进制计数法中,四位由高到低分别代表 + 可执行rename()函数权限 |可对文件追加内容权限 |可写入文件权限|可读取文件权限。
+ + + +
+
+ +
+
+

+
at line 48
+ static RecursiveIteratorIterator + getRecursiveIterator(string $srcDir, callable $filter) + +

+
+ + + +
+

```php +$filter = function ($current, $key, $iterator) { + // \SplFileInfo $current + // Skip hidden files and directories.

if ($current->getFilename()[0] === '.') { + return false; + } + if ($current->isDir()) { + // Only recurse into intended subdirectories. + return $current->getFilename() !== '.git'; + } + // Only consume files of interest. + return strpos($current->getFilename(), '.php') !== false; +};

+ +

// $info is instance of \SplFileInfo +foreach(Directory::getRecursiveIterator($srcDir, $filter) as $info) { + // $info->getFilename(); ... +} +```

+
+

Parameters

+ + + + + + + + + + + + +
string$srcDir
callable$filter
+ + +

Return Value

+ + + + + + +
RecursiveIteratorIterator
+ + +

Exceptions

+ + + + + + +
LogicException
+ + +
+
+ +
+
+

+
at line 59
+ static bool + isEmpty($dir) + +

+
+ + + +
+

判断文件夹是否为空

+
+

Parameters

+ + + + + + + +
$dir
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
at line 87
+ static array + ls($path) + +

+
+ + + +
+

查看一个目录中的所有文件和子目录

+
+

Parameters

+ + + + + + + +
$path
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 113
+ static array + getList($path, int $pid = 0, int $son = 0, array $list = []) + +

+
+ + + +
+

只获得目录结构

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$path
int$pid
int$son
array$list
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 150
+ static array + getDirs($path, bool $loop = false, null $parent = null, array $list = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$path
bool$loop
null$parent
array$list
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 183
+ static array + simpleInfo(string $dir, string|array $ext = null, bool $recursive = false) + +

+
+ + + +
+

获得目录下的文件,可选择类型、是否遍历子文件夹

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$dirstring 目标目录
string|array$extarray('css','html','php') css|html|php
bool$recursiveint|bool 是否包含子目录
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 224
+ static array + getFiles(string $path, array|string $ext = null, bool $recursive = false, null|string $parent = null, array $list = []) + +

+
+ + + +
+

获得目录下的文件,可选择类型、是否遍历子文件夹

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$pathstring 目标目录
array|string$extarray('css','html','php') css|html|php
bool$recursive是否包含子目录
null|string$parent
array$list
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 260
+ static array + getFilesInfo($path, array|string $ext = null, $recursive = 0, array $list) + +

+
+ + + +
+

获得目录下的文件以及详细信息,可选择类型、是否遍历子文件夹

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$pathstring 目标目录
array|string$extarray('css','html','php') css|html|php
$recursiveint|bool 是否包含子目录
array$list
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 296
+ static bool + create($path, int|string $mode = 0775, bool $recursive = true) + +

+
+ + + +
+

支持层级目录的创建

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$path
int|string$mode
bool$recursive
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 308
+ static bool + copy($oldDir, $newDir) + +

+
+ + + +
+

复制目录内容

+
+

Parameters

+ + + + + + + + + + + + +
$oldDir
$newDir
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 344
+ static bool + delete($path, boolean $delSelf = true) + +

+
+ + + +
+

删除目录及里面的文件

+
+

Parameters

+ + + + + + + + + + + + +
$path
boolean$delSelf默认最后删掉自己
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 367
+ static string + comparePath($newPath, $oldPath) + +

+
+ + + +
+

比较文件路径

+
+

Parameters

+ + + + + + + + + + + + +
$newPath
$oldPath
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/Exception.html b/classes-docs/master/Toolkit/FileUtil/Exception.html new file mode 100644 index 0000000..fdf44b9 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/Exception.html @@ -0,0 +1,135 @@ + + + + + + Toolkit\FileUtil\Exception | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Class FileReadException +
+
+
+ + +

Exceptions

+ +
+
+ +
+ Class FileNotFoundException +
+
+
+ +
+ Class FileSystemException +
+
+
+
+ IOException + +
+
+ Class IOException +
+
+
+ +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/Exception/FileNotFoundException.html b/classes-docs/master/Toolkit/FileUtil/Exception/FileNotFoundException.html new file mode 100644 index 0000000..c740c9d --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/Exception/FileNotFoundException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\FileUtil\Exception\FileNotFoundException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + FileNotFoundException extends Exception +

+ + + + +
+

Class FileNotFoundException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/Exception/FileReadException.html b/classes-docs/master/Toolkit/FileUtil/Exception/FileReadException.html new file mode 100644 index 0000000..2d983db --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/Exception/FileReadException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\FileUtil\Exception\FileReadException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + FileReadException extends FileSystemException +

+ + + + +
+

Class FileReadException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/Exception/FileSystemException.html b/classes-docs/master/Toolkit/FileUtil/Exception/FileSystemException.html new file mode 100644 index 0000000..b0b630e --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/Exception/FileSystemException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\FileUtil\Exception\FileSystemException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + FileSystemException extends Exception +

+ + + + +
+

Class FileSystemException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/Exception/IOException.html b/classes-docs/master/Toolkit/FileUtil/Exception/IOException.html new file mode 100644 index 0000000..0738344 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/Exception/IOException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\FileUtil\Exception\IOException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + IOException extends FileSystemException +

+ + + + +
+

Class IOException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/File.html b/classes-docs/master/Toolkit/FileUtil/File.html new file mode 100644 index 0000000..50c4987 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/File.html @@ -0,0 +1,2780 @@ + + + + + + Toolkit\FileUtil\File | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

abstract class + File extends FileSystem +

+ + + + +
+

Class File

+ +

Traits

+ + +
+
+
+ ReadTrait + +
+
+ Class Read +
+
+
+ +

Constants

+ + + + + + + + + + + + + + + + + + + + + + +
FORMAT_JSON +

+

+
FORMAT_PHP +

+

+
FORMAT_INI +

+

+
FORMAT_YML +

+

+
FORMAT_YAML +

+

+
+ + + +

Methods

+ +
+
+
+ static bool +
+
+ isAbsPath(string $path) + +

No description

+
+ +
+
+
+ static bool +
+
+ isAbsolutePath(string $file) + +

Returns whether the file path is an absolute path.

+ +
+
+
+ static string +
+
+ pathFormat(string $dirName) + +

转换为标准的路径结构

+ +
+
+
+ string +
+
+ clearPharPath(string $path) + +

No description

+
+ +
+
+
+ static array|string +
+
+ exists(string $file, null|string $type = null) + +

检查文件/夹/链接是否存在

+ +
+
+
+ static  +
+
+ check(string $file, null|string|array $ext = null) + +

No description

+
+ +
+
+
+ static  +
+
+ rename(string $origin, string $target, bool $overwrite = false) + +

Renames a file or a directory.

+ +
+
+
+ static bool +
+
+ isReadable(string $filename) + +

Tells whether a file exists and is readable.

+ +
+
+
+ static  +
+
+ mkdir(string|array|Traversable $dirs, int $mode = 0777) + +

Creates a directory recursively.

+ +
+
+
+ static  +
+
+ chmod(string|array|Traversable $files, int $mode, int $umask = 00, bool $recursive = false) + +

Change mode for an array of files or directories.

+ +
+
+
+ static  +
+
+ chown(string|array|Traversable $files, string $user, bool $recursive = false) + +

Change the owner of an array of files or directories.

+ +
+
+ +
+ getIterator(string $srcDir, callable $filter) + +

No description

+
+ +
+
+
+ static bool +
+
+ chmodDir(string $path, int $mode = 0664) + +

No description

+
+ +
+
+
+ static string +
+
+ availableSpace(string $dir = '.') + +

No description

+
+ +
+
+
+ static string +
+
+ countSpace(string $dir = '.') + +

No description

+
+ +
+
+
+ static int +
+
+ pathModeInfo(string $file_path) + +

文件或目录权限检查函数

+ +
+
+
+ static array|bool +
+
+ load(string $src, string $format = self::FORMAT_PHP) + +

No description

+
+
from ReadTrait
+
+
+
+ static array +
+
+ loadPhp(string $file, bool $throwError = true) + +

load array data form file.

+
from ReadTrait
+
+
+
+ static array +
+
+ loadJson(string $file) + +

No description

+
+
from ReadTrait
+
+
+
+ static array|bool +
+
+ loadIni(string $ini) + +

No description

+
+
from ReadTrait
+
+
+
+ static array|bool +
+
+ loadYml(string $yml) + +

No description

+
+
from ReadTrait
+
+
+
+ static array|string +
+
+ readAllLine($file, bool|true $filter = true) + +

No description

+
+
from ReadTrait
+
+
+
+ static array +
+
+ readLines(string $fileName, int $startLine = 1, int $endLine = 10, string $mode = 'rb') + +

getLines 获取文件一定范围内的内容

+
from ReadTrait
+
+
+
+ static array +
+
+ readSymmetry(string $fileName, integer $current = 1, integer $lineNum = 3) + +

symmetry 得到当前行对称上下几($lineNum)行的内容

+
from ReadTrait
+
+
+
+ static array +
+
+ readRangeLines(string $file, int $baseLine, int $prevLines = 3, int $nextLines = 3) + +

No description

+
+
from ReadTrait
+
+
+
+ static array +
+
+ getLines5u3d(string $file, int $baseLine = 1) + +

得到基准行数上5行下3行的内容, lines up and down

+
from ReadTrait
+
+
+
+ static array +
+
+ tail(resource $fp, int $n, int $base = 5) + +

读取文件的最后几行(支持大文件读取)

+
from ReadTrait
+
+
+
+ static string +
+
+ getName(string $file, bool $clearExt = false) + +

获得文件名称

+
+
+
+
+ static string +
+
+ getSuffix($filename, bool $clearPoint = false) + +

获得文件扩展名、后缀名

+
+
+
+
+ static string +
+
+ getExtension($path, bool $clearPoint = false) + +

获得文件扩展名、后缀名

+
+
+
+
+ static string +
+
+ mimeType(string $file) + +

No description

+
+
+
+
+
+ static array +
+
+ info(string $filename, bool $check = true) + +

No description

+
+
+
+
+
+ static array +
+
+ getStat($filename) + +

No description

+
+
+
+
+
+ static bool +
+
+ save(string $filename, string $data) + +

save description

+
+
+
+
+ static  +
+
+ write($content, $path) + +

No description

+
+
+
+
+
+ static resource +
+
+ openHandler(string $path) + +

No description

+
+
+
+
+
+ static  +
+
+ writeToFile(resource $handler, string $content, string $path = '') + +

Attempts to write $content to the file specified by $handler. $path is used for printing exceptions.

+
+
+
+
+ static  +
+
+ createAndWrite(array $fileData = [], $append = false, $mode = 0664) + +

********************** 创建多级目录和多个文件 ********************** +结合上两个函数

+
+
+
+
+ static bool|mixed|string +
+
+ getContents(string $file, bool|false $useIncludePath = false, null|resource $streamContext = null, int $curlTimeout = 5) + +

No description

+
+
+
+
+
+ static  +
+
+ move(string $file, string $target) + +

No description

+
+
+
+
+
+ static bool +
+
+ delete($filename) + +

No description

+
+
+
+
+
+ static bool|int +
+
+ copy($source, $destination, null $streamContext = null) + +

No description

+
+
+
+
+
+ static mixed +
+
+ combine($inFile, $outFile) + +

No description

+
+
+
+
+
+ static string +
+
+ stripPhpCode(string $source) + +

Removes whitespace from a PHP source string while preserving line numbers.

+
+
+
+
+ static  +
+
+ downBigFile(string $file, string $as) + +

If you want to download files from a linux server with +a filesize bigger than 2GB you can use the following

+
+
+
+ + +

Details

+ +
+
+

+
in FileSystem at line 27
+ static bool + isAbsPath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in FileSystem at line 49
+ static bool + isAbsolutePath(string $file) + +

+
+ + + +
+

Returns whether the file path is an absolute path.

+
+

Parameters

+ + + + + + + +
string$fileA file path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in FileSystem at line 64
+ static string + pathFormat(string $dirName) + +

+
+ + + +
+

转换为标准的路径结构

+
+

Parameters

+ + + + + + + +
string$dirName
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 75
+ string + clearPharPath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$pathe.g phar://E:/workenv/php-dockerized/www/phplang/ugirls-social/social-uem/uem.phar/web
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 94
+ static array|string + exists(string $file, null|string $type = null) + +

+
+ + + +
+

检查文件/夹/链接是否存在

+
+

Parameters

+ + + + + + + + + + + + +
string$file要检查的目标
null|string$type
+ + +

Return Value

+ + + + + + +
array|string
+ + + +
+
+ +
+
+

+
in FileSystem at line 119
+ static + check(string $file, null|string|array $ext = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$file
null|string|array$exteg: 'jpg|gif'
+ + + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
InvalidArgumentException
+ + +
+
+ +
+
+

+
in FileSystem at line 145
+ static + rename(string $origin, string $target, bool $overwrite = false) + +

+
+ + + +
+

Renames a file or a directory.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$originThe origin filename or directory
string$targetThe new filename or directory
bool$overwriteWhether to overwrite the target if it already exists
+ + + +

Exceptions

+ + + + + + + + + + +
IOExceptionWhen target file or directory already exists
IOExceptionWhen origin cannot be renamed
+ + +
+
+ +
+
+

+
in FileSystem at line 164
+ static bool + isReadable(string $filename) + +

+
+ + + +
+

Tells whether a file exists and is readable.

+
+

Parameters

+ + + + + + + +
string$filenamePath to the file
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
IOExceptionWhen windows path is longer than 258 characters
+ + +
+
+ +
+
+

+
in FileSystem at line 179
+ static + mkdir(string|array|Traversable $dirs, int $mode = 0777) + +

+
+ + + +
+

Creates a directory recursively.

+
+

Parameters

+ + + + + + + + + + + + +
string|array|Traversable$dirsThe directory path
int$modeThe directory mode
+ + + +

Exceptions

+ + + + + + +
IOExceptionOn any directory creation failure
+ + +
+
+ +
+
+

+
in FileSystem at line 210
+ static + chmod(string|array|Traversable $files, int $mode, int $umask = 00, bool $recursive = false) + +

+
+ + + +
+

Change mode for an array of files or directories.

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string|array|Traversable$filesA filename, an array of files, or a \Traversable instance to change mode
int$modeThe new mode (octal)
int$umaskThe mode mask (octal)
bool$recursiveWhether change the mod recursively or not
+ + + +

Exceptions

+ + + + + + +
IOExceptionWhen the change fail
+ + +
+
+ +
+
+

+
in FileSystem at line 231
+ static + chown(string|array|Traversable $files, string $user, bool $recursive = false) + +

+
+ + + +
+

Change the owner of an array of files or directories.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array|Traversable$filesA filename, an array of files, or a \Traversable instance to change owner
string$userThe new owner user name
bool$recursiveWhether change the owner recursively or not
+ + + +

Exceptions

+ + + + + + +
IOExceptionWhen the change fail
+ + +
+
+ +
+
+

+
in FileSystem at line 255
+ static RecursiveIteratorIterator + getIterator(string $srcDir, callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$srcDir
callable$filter
+ + +

Return Value

+ + + + + + +
RecursiveIteratorIterator
+ + + +
+
+ +
+
+

+
in FileSystem at line 272
+ static bool + chmodDir(string $path, int $mode = 0664) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$path
int$mode
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in FileSystem at line 305
+ static string + availableSpace(string $dir = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$dir
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 322
+ static string + countSpace(string $dir = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$dir
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in FileSystem at line 342
+ static int + pathModeInfo(string $file_path) + +

+
+ + + +
+

文件或目录权限检查函数

+
+

Parameters

+ + + + + + + +
string$file_path文件路径
+ + +

Return Value

+ + + + + + +
int返回值的取值范围为{0 <= x <= 15},每个值表示的含义可由四位二进制数组合推出。 + 返回值在二进制计数法中,四位由高到低分别代表 + 可执行rename()函数权限 |可对文件追加内容权限 |可写入文件权限|可读取文件权限。
+ + + +
+
+ +
+
+

+
in ReadTrait at line 31
+ static array|bool + load(string $src, string $format = self::FORMAT_PHP) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$src要解析的 文件 或 字符串内容。
string$format
+ + +

Return Value

+ + + + + + +
array|bool
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
in ReadTrait at line 64
+ static array + loadPhp(string $file, bool $throwError = true) + +

+
+ + + +
+

load array data form file.

+
+

Parameters

+ + + + + + + + + + + + +
string$file
bool$throwError
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
in ReadTrait at line 85
+ static array + loadJson(string $file) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$file
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in ReadTrait at line 94
+ static array|bool + loadIni(string $ini) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$ini要解析的 ini 文件名 或 字符串内容。
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
in ReadTrait at line 103
+ static array|bool + loadYml(string $yml) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$yml要解析的 yml 文件名 或 字符串内容。
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
in ReadTrait at line 115
+ static array|string + readAllLine($file, bool|true $filter = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$file
bool|true$filter
+ + +

Return Value

+ + + + + + +
array|string
+ + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
FileReadException
+ + +
+
+ +
+
+

+
in ReadTrait at line 137
+ static array + readLines(string $fileName, int $startLine = 1, int $endLine = 10, string $mode = 'rb') + +

+
+ + + +
+

getLines 获取文件一定范围内的内容

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$fileName含完整路径的文件
int$startLine开始行数 默认第1行
int$endLine结束行数 默认第50行
string$mode打开文件方式
+ + +

Return Value

+ + + + + + +
array返回内容
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
in ReadTrait at line 191
+ static array + readSymmetry(string $fileName, integer $current = 1, integer $lineNum = 3) + +

+
+ + + +
+

symmetry 得到当前行对称上下几($lineNum)行的内容

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$fileName含完整路径的文件
integer$current[当前行数]
integer$lineNum[获取行数] = $lineNum*2+1
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
in ReadTrait at line 212
+ static array + readRangeLines(string $file, int $baseLine, int $prevLines = 3, int $nextLines = 3) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$file
int$baseLine
int$prevLines
int$nextLines
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
in ReadTrait at line 227
+ static array + getLines5u3d(string $file, int $baseLine = 1) + +

+
+ + + +
+

得到基准行数上5行下3行的内容, lines up and down

+
+

Parameters

+ + + + + + + + + + + + +
string$file
int$baseLine基准行数
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
in ReadTrait at line 240
+ static array + tail(resource $fp, int $n, int $base = 5) + +

+
+ + + +
+

读取文件的最后几行(支持大文件读取)

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
resource$fpe.g fopen("access.log", "r+")
int$n
int$base
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 38
+ static string + getName(string $file, bool $clearExt = false) + +

+
+ + + +
+

获得文件名称

+
+

Parameters

+ + + + + + + + + + + + +
string$file
bool$clearExt是否去掉文件名中的后缀,仅保留名字
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 51
+ static string + getSuffix($filename, bool $clearPoint = false) + +

+
+ + + +
+

获得文件扩展名、后缀名

+
+

Parameters

+ + + + + + + + + + + + +
$filename
bool$clearPoint是否带点
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 64
+ static string + getExtension($path, bool $clearPoint = false) + +

+
+ + + +
+

获得文件扩展名、后缀名

+
+

Parameters

+ + + + + + + + + + + + +
$path
bool$clearPoint是否带点
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 75
+ static string + mimeType(string $file) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$file
+ + +

Return Value

+ + + + + + +
stringeg: image/gif
+ + + +
+
+ +
+
+

+
at line 87
+ static array + info(string $filename, bool $check = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$filename
bool$check
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 106
+ static array + getStat($filename) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$filename
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 117
+ static bool + save(string $filename, string $data) + +

+
+ + + +
+

save description

+
+

Parameters

+ + + + + + + + + + + + +
string$filename
string$data
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 127
+ static + write($content, $path) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$content
$path
+ + + +

Exceptions

+ + + + + + +
IOException
+ + +
+
+ +
+
+

+
at line 141
+ static resource + openHandler(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + +

Return Value

+ + + + + + +
resource
+ + +

Exceptions

+ + + + + + +
IOException
+ + +
+
+ +
+
+

+
at line 157
+ static + writeToFile(resource $handler, string $content, string $path = '') + +

+
+ + + +
+

Attempts to write $content to the file specified by $handler. $path is used for printing exceptions.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
resource$handlerThe resource to write to.
string$contentThe content to write.
string$pathThe path to the file (for exception printing only).
+ + + +

Exceptions

+ + + + + + +
IOException
+ + +
+
+ +
+
+

+
at line 175
+ static + createAndWrite(array $fileData = [], $append = false, $mode = 0664) + +

+
+ + + +
+

********************** 创建多级目录和多个文件 ********************** +结合上两个函数

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$fileData
    +
  • 数组:要创建的多个文件名组成,含文件的完整路径
  • +
+
$append
    +
  • 是否以追加的方式写入数据 默认false
  • +
+
$mode=0777 - 权限,默认0775 + eg: $fileData = array( + 'file_name' => 'content', + 'case.html' => 'content' , + );
+ + + + +
+
+ +
+
+

+
at line 203
+ static bool|mixed|string + getContents(string $file, bool|false $useIncludePath = false, null|resource $streamContext = null, int $curlTimeout = 5) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$filea file path or url path
bool|false$useIncludePath
null|resource$streamContext
int$curlTimeout
+ + +

Return Value

+ + + + + + +
bool|mixed|string
+ + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
FileReadException
+ + +
+
+ +
+
+

+
at line 261
+ static + move(string $file, string $target) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$file
string$target
+ + + +

Exceptions

+ + + + + + + + + + + + + + +
FileNotFoundException
FileSystemException
IOException
+ + +
+
+ +
+
+

+
at line 276
+ static bool + delete($filename) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$filename
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 289
+ static bool|int + copy($source, $destination, null $streamContext = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$source
$destination
null$streamContext
+ + +

Return Value

+ + + + + + +
bool|int
+ + +

Exceptions

+ + + + + + + + + + +
FileSystemException
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 309
+ static mixed + combine($inFile, $outFile) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$inFile
$outFile
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + + + + + +
InvalidArgumentException
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 353
+ static string + stripPhpCode(string $source) + +

+
+ + + +
+

Removes whitespace from a PHP source string while preserving line numbers.

+
+

Parameters

+ + + + + + + +
string$sourceA PHP string
+ + +

Return Value

+ + + + + + +
stringThe PHP string with the whitespace removed
+ + + +
+
+ +
+
+

+
at line 387
+ static + downBigFile(string $file, string $as) + +

+
+ + + +
+

If you want to download files from a linux server with +a filesize bigger than 2GB you can use the following

+
+

Parameters

+ + + + + + + + + + + + +
string$file
string$as
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/FileFinder.html b/classes-docs/master/Toolkit/FileUtil/FileFinder.html new file mode 100644 index 0000000..a0dbf74 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/FileFinder.html @@ -0,0 +1,1442 @@ + + + + + + Toolkit\FileUtil\FileFinder | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + FileFinder implements + IteratorAggregate, Countable +

+ + + + +
+

Class FileFinder

$finder = FileFinder::create()
+     ->files()
+     ->name('*.php')
+     ->notName('some.php')
+     ->in('/path/to/project')
+;
+
+foreach($finder as $file) {
+     // something ......
+}
+
+

+ + +

Constants

+ + + + + + + + + + + + + + + + + + +
ONLY_FILE +

+

+
ONLY_DIR +

+

+
IGNORE_VCS_FILES +

+

+
IGNORE_DOT_FILES +

+

+
+ + + +

Methods

+ +
+
+
+ static FileFinder +
+
+ create() + +

No description

+
+
+
+
+
+ static FileFinder +
+
+ fromArray(array $config) + +

No description

+
+
+
+
+
+ +
+
+ __construct(string $path, int $flags, bool $ignoreUnreadableDirs = false) + +

No description

+
+
+
+
+
+ $this +
+
+ directories() + +

No description

+
+
+
+
+
+ $this +
+
+ dirs() + +

No description

+
+
+
+
+ +
+ files() + +

No description

+
+
+
+
+ +
+ name(string $pattern) + +

$finder->name('*.php') +$finder->name('test.php')

+
+
+
+ +
+ addNames(string|array $patterns) + +

No description

+
+
+
+
+ +
+ notName(string $pattern) + +

No description

+
+
+
+
+ +
+ addNotNames(string|array $patterns) + +

No description

+
+
+
+
+ +
+ path(string $pattern) + +

$finder->path('some/special/dir')

+
+
+
+ +
+ addPaths(string|array $patterns) + +

No description

+
+
+
+
+ +
+ notPath(string $pattern) + +

No description

+
+
+
+
+ +
+ addNotPaths(string|array $patterns) + +

No description

+
+
+
+
+ +
+ exclude($dirs) + +

No description

+
+
+
+
+ +
+ ignoreVCS(bool $ignoreVCS) + +

No description

+
+
+
+
+ +
+ ignoreDotFiles(bool $ignoreDotFiles) + +

No description

+
+
+
+
+ +
+ followLinks(bool $followLinks) + +

No description

+
+
+
+
+ +
+ filter(Closure $closure) + +

No description

+
+
+
+
+
+ $this +
+
+ in(string|array $dirs) + +

No description

+
+
+
+
+ +
+ inDir(string|array $dirs) + +

alias of the in()

+
+
+
+
+ $this +
+
+ append(mixed $iterator) + +

No description

+
+
+
+
+
+ int +
+
+ count() + +

No description

+
+
+
+
+
+ bool +
+
+ isFollowLinks() + +

No description

+
+
+
+
+ +
+ getIterator() + +

Retrieve an external iterator

+
+
+
+
+ +
+
+ current() + +

No description

+
+
+
+
+
+ +
+
+ getChildren() + +

No description

+
+
+
+
+
+ +
+
+ rewind() + +

No description

+
+
+
+
+
+ +
+
+ isRewindable() + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 78
+ static FileFinder + create() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 87
+ static FileFinder + fromArray(array $config) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$config
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 419
+ + __construct(string $path, int $flags, bool $ignoreUnreadableDirs = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$path
int$flags
bool$ignoreUnreadableDirs
+ + + + +
+
+ +
+
+

+
at line 119
+ $this + directories() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 129
+ $this + dirs() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 139
+ FileFinder + files() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 153
+ FileFinder + name(string $pattern) + +

+
+ + + +
+

$finder->name('*.php') +$finder->name('test.php')

+
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 164
+ FileFinder + addNames(string|array $patterns) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$patterns
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 175
+ FileFinder + notName(string $pattern) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 186
+ FileFinder + addNotNames(string|array $patterns) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$patterns
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 199
+ FileFinder + path(string $pattern) + +

+
+ + + +
+

$finder->path('some/special/dir')

+
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 210
+ FileFinder + addPaths(string|array $patterns) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$patterns
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 221
+ FileFinder + notPath(string $pattern) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$pattern
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 232
+ FileFinder + addNotPaths(string|array $patterns) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$patterns
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 243
+ FileFinder + exclude($dirs) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$dirs
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 254
+ FileFinder + ignoreVCS(bool $ignoreVCS) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$ignoreVCS
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 269
+ FileFinder + ignoreDotFiles(bool $ignoreDotFiles) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$ignoreDotFiles
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+ +
+ + + +
+

Parameters

+ + + + + + + +
bool$followLinks
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 294
+ FileFinder + filter(Closure $closure) + +

+
+ + + +
+

Parameters

+ + + + + + + +
Closure$closure
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 305
+ $this + in(string|array $dirs) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$dirs
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 317
+ FileFinder + inDir(string|array $dirs) + +

+
+ + + +
+

alias of the in()

+
+

Parameters

+ + + + + + + +
string|array$dirs
+ + +

Return Value

+ + + + + + +
FileFinder
+ + + +
+
+ +
+
+

+
at line 328
+ $this + append(mixed $iterator) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$iterator
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 350
+ int + count() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+ +
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 368
+ Iterator|SplFileInfo[] + getIterator() + +

+
+ + + +
+

Retrieve an external iterator

+
+ +

Return Value

+ + + + + + +
Iterator|SplFileInfo[]An iterator
+ + + +
+
+ +
+
+

+
at line 434
+ + current() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 454
+ + getChildren() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 475
+ + rewind() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 484
+ + isRewindable() + +

+
+ + + +
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/FileSystem.html b/classes-docs/master/Toolkit/FileUtil/FileSystem.html new file mode 100644 index 0000000..c10ff80 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/FileSystem.html @@ -0,0 +1,987 @@ + + + + + + Toolkit\FileUtil\FileSystem | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

abstract class + FileSystem +

+ + + + +
+

Class FileSystem

+ + + + +

Methods

+ +
+
+
+ static bool +
+
+ isAbsPath(string $path) + +

No description

+
+
+
+
+
+ static bool +
+
+ isAbsolutePath(string $file) + +

Returns whether the file path is an absolute path.

+
+
+
+
+ static string +
+
+ pathFormat(string $dirName) + +

转换为标准的路径结构

+
+
+
+
+ string +
+
+ clearPharPath(string $path) + +

No description

+
+
+
+
+
+ static array|string +
+
+ exists(string $file, null|string $type = null) + +

检查文件/夹/链接是否存在

+
+
+
+
+ static  +
+
+ check(string $file, null|string|array $ext = null) + +

No description

+
+
+
+
+
+ static  +
+
+ rename(string $origin, string $target, bool $overwrite = false) + +

Renames a file or a directory.

+
+
+
+
+ static bool +
+
+ isReadable(string $filename) + +

Tells whether a file exists and is readable.

+
+
+
+
+ static  +
+
+ mkdir(string|array|Traversable $dirs, int $mode = 0777) + +

Creates a directory recursively.

+
+
+
+
+ static  +
+
+ chmod(string|array|Traversable $files, int $mode, int $umask = 00, bool $recursive = false) + +

Change mode for an array of files or directories.

+
+
+
+
+ static  +
+
+ chown(string|array|Traversable $files, string $user, bool $recursive = false) + +

Change the owner of an array of files or directories.

+
+
+
+ +
+ getIterator(string $srcDir, callable $filter) + +

No description

+
+
+
+
+
+ static bool +
+
+ chmodDir(string $path, int $mode = 0664) + +

No description

+
+
+
+
+
+ static string +
+
+ availableSpace(string $dir = '.') + +

No description

+
+
+
+
+
+ static string +
+
+ countSpace(string $dir = '.') + +

No description

+
+
+
+
+
+ static int +
+
+ pathModeInfo(string $file_path) + +

文件或目录权限检查函数

+
+
+
+ + +

Details

+ +
+
+

+
at line 27
+ static bool + isAbsPath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 49
+ static bool + isAbsolutePath(string $file) + +

+
+ + + +
+

Returns whether the file path is an absolute path.

+
+

Parameters

+ + + + + + + +
string$fileA file path
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 64
+ static string + pathFormat(string $dirName) + +

+
+ + + +
+

转换为标准的路径结构

+
+

Parameters

+ + + + + + + +
string$dirName
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 75
+ string + clearPharPath(string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$pathe.g phar://E:/workenv/php-dockerized/www/phplang/ugirls-social/social-uem/uem.phar/web
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 94
+ static array|string + exists(string $file, null|string $type = null) + +

+
+ + + +
+

检查文件/夹/链接是否存在

+
+

Parameters

+ + + + + + + + + + + + +
string$file要检查的目标
null|string$type
+ + +

Return Value

+ + + + + + +
array|string
+ + + +
+
+ +
+
+

+
at line 119
+ static + check(string $file, null|string|array $ext = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$file
null|string|array$exteg: 'jpg|gif'
+ + + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 145
+ static + rename(string $origin, string $target, bool $overwrite = false) + +

+
+ + + +
+

Renames a file or a directory.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$originThe origin filename or directory
string$targetThe new filename or directory
bool$overwriteWhether to overwrite the target if it already exists
+ + + +

Exceptions

+ + + + + + + + + + +
IOExceptionWhen target file or directory already exists
IOExceptionWhen origin cannot be renamed
+ + +
+
+ +
+
+

+
at line 164
+ static bool + isReadable(string $filename) + +

+
+ + + +
+

Tells whether a file exists and is readable.

+
+

Parameters

+ + + + + + + +
string$filenamePath to the file
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
IOExceptionWhen windows path is longer than 258 characters
+ + +
+
+ +
+
+

+
at line 179
+ static + mkdir(string|array|Traversable $dirs, int $mode = 0777) + +

+
+ + + +
+

Creates a directory recursively.

+
+

Parameters

+ + + + + + + + + + + + +
string|array|Traversable$dirsThe directory path
int$modeThe directory mode
+ + + +

Exceptions

+ + + + + + +
IOExceptionOn any directory creation failure
+ + +
+
+ +
+
+

+
at line 210
+ static + chmod(string|array|Traversable $files, int $mode, int $umask = 00, bool $recursive = false) + +

+
+ + + +
+

Change mode for an array of files or directories.

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string|array|Traversable$filesA filename, an array of files, or a \Traversable instance to change mode
int$modeThe new mode (octal)
int$umaskThe mode mask (octal)
bool$recursiveWhether change the mod recursively or not
+ + + +

Exceptions

+ + + + + + +
IOExceptionWhen the change fail
+ + +
+
+ +
+
+

+
at line 231
+ static + chown(string|array|Traversable $files, string $user, bool $recursive = false) + +

+
+ + + +
+

Change the owner of an array of files or directories.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string|array|Traversable$filesA filename, an array of files, or a \Traversable instance to change owner
string$userThe new owner user name
bool$recursiveWhether change the owner recursively or not
+ + + +

Exceptions

+ + + + + + +
IOExceptionWhen the change fail
+ + +
+
+ +
+
+

+
at line 255
+ static RecursiveIteratorIterator + getIterator(string $srcDir, callable $filter) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$srcDir
callable$filter
+ + +

Return Value

+ + + + + + +
RecursiveIteratorIterator
+ + + +
+
+ +
+
+

+
at line 272
+ static bool + chmodDir(string $path, int $mode = 0664) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$path
int$mode
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 305
+ static string + availableSpace(string $dir = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$dir
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 322
+ static string + countSpace(string $dir = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$dir
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 342
+ static int + pathModeInfo(string $file_path) + +

+
+ + + +
+

文件或目录权限检查函数

+
+

Parameters

+ + + + + + + +
string$file_path文件路径
+ + +

Return Value

+ + + + + + +
int返回值的取值范围为{0 <= x <= 15},每个值表示的含义可由四位二进制数组合推出。 + 返回值在二进制计数法中,四位由高到低分别代表 + 可执行rename()函数权限 |可对文件追加内容权限 |可写入文件权限|可读取文件权限。
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/ModifyWatcher.html b/classes-docs/master/Toolkit/FileUtil/ModifyWatcher.html new file mode 100644 index 0000000..74bc53e --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/ModifyWatcher.html @@ -0,0 +1,861 @@ + + + + + + Toolkit\FileUtil\ModifyWatcher | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + ModifyWatcher +

+ + + + +
+

Class FilesWatcher - Check Dir's files modified by md5_file()

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct(string $idFile = null) + +

ModifyWatcher constructor.

+
+
+
+
+ $this +
+
+ setIdFile(string $idFile) + +

No description

+
+
+
+
+ +
+ name(string|array $notNames) + +

No description

+
+
+
+
+ +
+ notName(string|array $notNames) + +

No description

+
+
+
+
+ +
+ exclude(string|array $excludeDirs) + +

No description

+
+
+
+
+ +
+ ignoreDotDirs(bool $ignoreDotDirs) + +

No description

+
+
+
+
+ +
+ ignoreDotFiles(bool $ignoreDotFiles) + +

No description

+
+
+
+
+
+ $this +
+
+ watch(string|array $dirs) + +

No description

+
+
+
+
+
+ $this +
+
+ watchDir(string|array $dirs) + +

alias of the watch()

+
+
+
+
+ bool +
+
+ isModified() + +

No description

+
+
+
+
+
+ bool +
+
+ isChanged() + +

No description

+
+
+
+
+
+ bool|string +
+
+ getMd5ByIdFile() + +

No description

+
+
+
+
+
+ string +
+
+ calcMd5Hash() + +

No description

+
+
+
+
+
+ string|null +
+
+ getIdFile() + +

No description

+
+
+
+
+
+ string|null +
+
+ getWatchDir() + +

No description

+
+
+
+
+
+ string|null +
+
+ getDirMd5() + +

No description

+
+
+
+
+
+ int +
+
+ getFileCounter() + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 62
+ + __construct(string $idFile = null) + +

+
+ + + +
+

ModifyWatcher constructor.

+
+

Parameters

+ + + + + + + +
string$idFile
+ + + + +
+
+ +
+
+

+
at line 73
+ $this + setIdFile(string $idFile) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$idFile
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 84
+ ModifyWatcher + name(string|array $notNames) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$notNames
+ + +

Return Value

+ + + + + + +
ModifyWatcher
+ + + +
+
+ +
+
+

+
at line 95
+ ModifyWatcher + notName(string|array $notNames) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$notNames
+ + +

Return Value

+ + + + + + +
ModifyWatcher
+ + + +
+
+ +
+
+

+
at line 106
+ ModifyWatcher + exclude(string|array $excludeDirs) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$excludeDirs
+ + +

Return Value

+ + + + + + +
ModifyWatcher
+ + + +
+
+ +
+
+

+
at line 117
+ ModifyWatcher + ignoreDotDirs(bool $ignoreDotDirs) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$ignoreDotDirs
+ + +

Return Value

+ + + + + + +
ModifyWatcher
+ + + +
+
+ +
+
+

+
at line 128
+ ModifyWatcher + ignoreDotFiles(bool $ignoreDotFiles) + +

+
+ + + +
+

Parameters

+ + + + + + + +
bool$ignoreDotFiles
+ + +

Return Value

+ + + + + + +
ModifyWatcher
+ + + +
+
+ +
+
+

+
at line 138
+ $this + watch(string|array $dirs) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$dirs
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 150
+ $this + watchDir(string|array $dirs) + +

+
+ + + +
+

alias of the watch()

+
+

Parameters

+ + + + + + + +
string|array$dirs
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 160
+ bool + isModified() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 168
+ bool + isChanged() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 189
+ bool|string + getMd5ByIdFile() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 205
+ string + calcMd5Hash() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 278
+ string|null + getIdFile() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string|null
+ + + +
+
+ +
+
+

+
at line 286
+ string|null + getWatchDir() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string|null
+ + + +
+
+ +
+
+

+
at line 294
+ string|null + getDirMd5() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string|null
+ + + +
+
+ +
+
+

+
at line 302
+ int + getFileCounter() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/FileUtil/ReadTrait.html b/classes-docs/master/Toolkit/FileUtil/ReadTrait.html new file mode 100644 index 0000000..dde50c3 --- /dev/null +++ b/classes-docs/master/Toolkit/FileUtil/ReadTrait.html @@ -0,0 +1,796 @@ + + + + + + Toolkit\FileUtil\ReadTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + ReadTrait +

+ + + + +
+

Class Read

+ + + + +

Methods

+ +
+
+
+ static array|bool +
+
+ load(string $src, string $format = self::FORMAT_PHP) + +

No description

+
+
+
+
+
+ static array +
+
+ loadPhp(string $file, bool $throwError = true) + +

load array data form file.

+
+
+
+
+ static array +
+
+ loadJson(string $file) + +

No description

+
+
+
+
+
+ static array|bool +
+
+ loadIni(string $ini) + +

No description

+
+
+
+
+
+ static array|bool +
+
+ loadYml(string $yml) + +

No description

+
+
+
+
+
+ static array|string +
+
+ readAllLine($file, bool|true $filter = true) + +

No description

+
+
+
+
+
+ static array +
+
+ readLines(string $fileName, int $startLine = 1, int $endLine = 10, string $mode = 'rb') + +

getLines 获取文件一定范围内的内容

+
+
+
+
+ static array +
+
+ readSymmetry(string $fileName, integer $current = 1, integer $lineNum = 3) + +

symmetry 得到当前行对称上下几($lineNum)行的内容

+
+
+
+
+ static array +
+
+ readRangeLines(string $file, int $baseLine, int $prevLines = 3, int $nextLines = 3) + +

No description

+
+
+
+
+
+ static array +
+
+ getLines5u3d(string $file, int $baseLine = 1) + +

得到基准行数上5行下3行的内容, lines up and down

+
+
+
+
+ static array +
+
+ tail(resource $fp, int $n, int $base = 5) + +

读取文件的最后几行(支持大文件读取)

+
+
+
+ + +

Details

+ +
+
+

+
at line 31
+ static array|bool + load(string $src, string $format = self::FORMAT_PHP) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$src要解析的 文件 或 字符串内容。
string$format
+ + +

Return Value

+ + + + + + +
array|bool
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 64
+ static array + loadPhp(string $file, bool $throwError = true) + +

+
+ + + +
+

load array data form file.

+
+

Parameters

+ + + + + + + + + + + + +
string$file
bool$throwError
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileNotFoundException
+ + +
+
+ +
+
+

+
at line 85
+ static array + loadJson(string $file) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$file
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 94
+ static array|bool + loadIni(string $ini) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$ini要解析的 ini 文件名 或 字符串内容。
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
at line 103
+ static array|bool + loadYml(string $yml) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$yml要解析的 yml 文件名 或 字符串内容。
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
at line 115
+ static array|string + readAllLine($file, bool|true $filter = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$file
bool|true$filter
+ + +

Return Value

+ + + + + + +
array|string
+ + +

Exceptions

+ + + + + + + + + + +
FileNotFoundException
FileReadException
+ + +
+
+ +
+
+

+
at line 137
+ static array + readLines(string $fileName, int $startLine = 1, int $endLine = 10, string $mode = 'rb') + +

+
+ + + +
+

getLines 获取文件一定范围内的内容

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$fileName含完整路径的文件
int$startLine开始行数 默认第1行
int$endLine结束行数 默认第50行
string$mode打开文件方式
+ + +

Return Value

+ + + + + + +
array返回内容
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
at line 191
+ static array + readSymmetry(string $fileName, integer $current = 1, integer $lineNum = 3) + +

+
+ + + +
+

symmetry 得到当前行对称上下几($lineNum)行的内容

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$fileName含完整路径的文件
integer$current[当前行数]
integer$lineNum[获取行数] = $lineNum*2+1
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
at line 212
+ static array + readRangeLines(string $file, int $baseLine, int $prevLines = 3, int $nextLines = 3) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
string$file
int$baseLine
int$prevLines
int$nextLines
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
at line 227
+ static array + getLines5u3d(string $file, int $baseLine = 1) + +

+
+ + + +
+

得到基准行数上5行下3行的内容, lines up and down

+
+

Parameters

+ + + + + + + + + + + + +
string$file
int$baseLine基准行数
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
FileSystemException
+ + +
+
+ +
+
+

+
at line 240
+ static array + tail(resource $fp, int $n, int $base = 5) + +

+
+ + + +
+

读取文件的最后几行(支持大文件读取)

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
resource$fpe.g fopen("access.log", "r+")
int$n
int$base
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil.html b/classes-docs/master/Toolkit/ObjUtil.html new file mode 100644 index 0000000..9d7c4a8 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil.html @@ -0,0 +1,127 @@ + + + + + + Toolkit\ObjUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

Namespaces

+ + +

Classes

+ +
+
+
+ Obj + +
+
+ Class Obj + alias of the ObjectHelper +
+
+
+
+ ObjectHelper + +
+
+ Class ObjectHelper +
+
+
+ +
+ Class ObjectStorage + - 允许使用非对象作为key,会自动使用 \stdClass 转成对象 +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Exception.html b/classes-docs/master/Toolkit/ObjUtil/Exception.html new file mode 100644 index 0000000..9e6987d --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Exception.html @@ -0,0 +1,122 @@ + + + + + + Toolkit\ObjUtil\Exception | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Class GetPropertyException +
+
+
+ +
+ Class PropertyException +
+
+
+ +
+ Class SetPropertyException +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Exception/GetPropertyException.html b/classes-docs/master/Toolkit/ObjUtil/Exception/GetPropertyException.html new file mode 100644 index 0000000..02c2962 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Exception/GetPropertyException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\ObjUtil\Exception\GetPropertyException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + GetPropertyException extends RuntimeException +

+ + + + +
+

Class GetPropertyException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Exception/PropertyException.html b/classes-docs/master/Toolkit/ObjUtil/Exception/PropertyException.html new file mode 100644 index 0000000..ce0b22f --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Exception/PropertyException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\ObjUtil\Exception\PropertyException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PropertyException extends RuntimeException +

+ + + + +
+

Class PropertyException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Exception/SetPropertyException.html b/classes-docs/master/Toolkit/ObjUtil/Exception/SetPropertyException.html new file mode 100644 index 0000000..5940dd2 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Exception/SetPropertyException.html @@ -0,0 +1,104 @@ + + + + + + Toolkit\ObjUtil\Exception\SetPropertyException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + SetPropertyException extends RuntimeException +

+ + + + +
+

Class SetPropertyException

+ + + + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Obj.html b/classes-docs/master/Toolkit/ObjUtil/Obj.html new file mode 100644 index 0000000..e26ce1a --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Obj.html @@ -0,0 +1,1166 @@ + + + + + + Toolkit\ObjUtil\Obj | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Obj extends ObjectHelper +

+ + + + +
+

Class Obj + alias of the ObjectHelper

+ +

Traits

+ + +
+
+ +
+ Class ObjectPoolTrait +
+
+
+ + + +

Methods

+ +
+
+
+ static mixed +
+
+ smartConfigure(mixed $object, array $options) + +

No description

+
+ +
+
+
+ static mixed +
+
+ init(mixed $object, array $options) + +

给对象设置属性值 +- 会先尝试用 setter 方法设置属性 +- 再尝试直接设置属性

+ +
+
+
+ static  +
+
+ configure($object, array $options) + +

给对象设置属性值

+ +
+
+
+ static  +
+
+ setAttrs($object, array $options) + +

给对象设置属性值

+ +
+
+
+ static string +
+
+ encode(mixed $obj) + +

定义一个用来序列化数据的函数

+ +
+
+
+ static mixed +
+
+ decode(string $txt, bool|array $allowedClasses = false) + +

反序列化

+ +
+
+
+ static array|bool +
+
+ toArray(iterable|array|Traversable $data, bool $recursive = false) + +

php对象转换成为数组

+ +
+
+
+ static string +
+
+ hash(mixed $object, bool $unique = true) + +

No description

+
+ +
+
+
+ static array +
+
+ getMethodArgs(ReflectionMethod $method, array $extraArgs = []) + +

No description

+
+ +
+
+
+ static mixed +
+
+ create(string $class) + +

从类名创建服务实例对象,会尽可能自动补完构造函数依赖

+ +
+
+
+ static mixed +
+
+ smartCreate(string|array $config) + +

No description

+
+ +
+
+
+ static mixed +
+
+ get(string $class) + +

No description

+
+ +
+
+
+ static  +
+
+ put(stdClass|string $object) + +

No description

+
+ +
+
+
+ static mixed +
+
+ use(string $class, Closure $handler) + +

No description

+
+ +
+
+
+ static SplStack +
+
+ getStack(string|stdClass $class) + +

No description

+
+ +
+
+
+ static int +
+
+ count(null $class = null) + +

No description

+
+ +
+
+
+ static  +
+
+ destroy(null $class = null) + +

No description

+
+ +
+
+
+ static mixed +
+
+ singleton(string $class) + +

No description

+
+
+
+
+
+ static mixed +
+
+ factory(string $class) + +

No description

+
+
+
+
+
+ static bool +
+
+ isArrayable($object) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
in ObjectHelper at line 25
+ static mixed + smartConfigure(mixed $object, array $options) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
mixed$objectAn object instance
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ObjectHelper at line 38
+ static mixed + init(mixed $object, array $options) + +

+
+ + + +
+

给对象设置属性值 +- 会先尝试用 setter 方法设置属性 +- 再尝试直接设置属性

+
+

Parameters

+ + + + + + + + + + + + +
mixed$objectAn object instance
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ObjectHelper at line 63
+ static + configure($object, array $options) + +

+
+ + + +
+

给对象设置属性值

+
+

Parameters

+ + + + + + + + + + + + +
$object
array$options
+ + + + +
+
+ +
+
+

+
in ObjectHelper at line 75
+ static + setAttrs($object, array $options) + +

+
+ + + +
+

给对象设置属性值

+
+

Parameters

+ + + + + + + + + + + + +
$object
array$options
+ + + + +
+
+ +
+
+

+
in ObjectHelper at line 85
+ static string + encode(mixed $obj) + +

+
+ + + +
+

定义一个用来序列化数据的函数

+
+

Parameters

+ + + + + + + +
mixed$obj
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in ObjectHelper at line 96
+ static mixed + decode(string $txt, bool|array $allowedClasses = false) + +

+
+ + + +
+

反序列化

+
+

Parameters

+ + + + + + + + + + + + +
string$txt
bool|array$allowedClasses
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ObjectHelper at line 107
+ static array|bool + toArray(iterable|array|Traversable $data, bool $recursive = false) + +

+
+ + + +
+

php对象转换成为数组

+
+

Parameters

+ + + + + + + + + + + + +
iterable|array|Traversable$data
bool$recursive
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
in ObjectHelper at line 138
+ static string + hash(mixed $object, bool $unique = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
mixed$object
bool$unique
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in ObjectHelper at line 162
+ static array + getMethodArgs(ReflectionMethod $method, array $extraArgs = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
ReflectionMethod$methodMethod for which to build the argument array.
array$extraArgs
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
DependencyResolutionException
+ + +
+
+ +
+
+

+
in ObjectHelper at line 211
+ static mixed + create(string $class) + +

+
+ + + +
+

从类名创建服务实例对象,会尽可能自动补完构造函数依赖

+
+

Parameters

+ + + + + + + +
string$classa className
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
DependencyResolutionException
+ + +
+
+ +
+
+

+
in ObjectHelper at line 236
+ static mixed + smartCreate(string|array $config) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$config
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ObjectPoolTrait at line 26
+ static mixed + get(string $class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ObjectPoolTrait at line 40
+ static + put(stdClass|string $object) + +

+
+ + + +
+

Parameters

+ + + + + + + +
stdClass|string$object
+ + + + +
+
+ +
+
+

+
in ObjectPoolTrait at line 54
+ static mixed + use(string $class, Closure $handler) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$class
Closure$handler
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in ObjectPoolTrait at line 69
+ static SplStack + getStack(string|stdClass $class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|stdClass$class
+ + +

Return Value

+ + + + + + +
SplStack
+ + + +
+
+ +
+
+

+
in ObjectPoolTrait at line 85
+ static int + count(null $class = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
null$class
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
in ObjectPoolTrait at line 102
+ static + destroy(null $class = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
null$class
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 31
+ static mixed + singleton(string $class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 44
+ static mixed + factory(string $class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 57
+ static bool + isArrayable($object) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$object
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/ObjectHelper.html b/classes-docs/master/Toolkit/ObjUtil/ObjectHelper.html new file mode 100644 index 0000000..3de461a --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/ObjectHelper.html @@ -0,0 +1,705 @@ + + + + + + Toolkit\ObjUtil\ObjectHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + ObjectHelper +

+ + + + +
+

Class ObjectHelper

+ + + + +

Methods

+ +
+
+
+ static mixed +
+
+ smartConfigure(mixed $object, array $options) + +

No description

+
+
+
+
+
+ static mixed +
+
+ init(mixed $object, array $options) + +

给对象设置属性值 +- 会先尝试用 setter 方法设置属性 +- 再尝试直接设置属性

+
+
+
+
+ static  +
+
+ configure($object, array $options) + +

给对象设置属性值

+
+
+
+
+ static  +
+
+ setAttrs($object, array $options) + +

给对象设置属性值

+
+
+
+
+ static string +
+
+ encode(mixed $obj) + +

定义一个用来序列化数据的函数

+
+
+
+
+ static mixed +
+
+ decode(string $txt, bool|array $allowedClasses = false) + +

反序列化

+
+
+
+
+ static array|bool +
+
+ toArray(iterable|array|Traversable $data, bool $recursive = false) + +

php对象转换成为数组

+
+
+
+
+ static string +
+
+ hash(mixed $object, bool $unique = true) + +

No description

+
+
+
+
+
+ static array +
+
+ getMethodArgs(ReflectionMethod $method, array $extraArgs = []) + +

No description

+
+
+
+
+
+ static mixed +
+
+ create(string $class) + +

从类名创建服务实例对象,会尽可能自动补完构造函数依赖

+
+
+
+
+ static mixed +
+
+ smartCreate(string|array $config) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 25
+ static mixed + smartConfigure(mixed $object, array $options) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
mixed$objectAn object instance
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 38
+ static mixed + init(mixed $object, array $options) + +

+
+ + + +
+

给对象设置属性值 +- 会先尝试用 setter 方法设置属性 +- 再尝试直接设置属性

+
+

Parameters

+ + + + + + + + + + + + +
mixed$objectAn object instance
array$options
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 63
+ static + configure($object, array $options) + +

+
+ + + +
+

给对象设置属性值

+
+

Parameters

+ + + + + + + + + + + + +
$object
array$options
+ + + + +
+
+ +
+
+

+
at line 75
+ static + setAttrs($object, array $options) + +

+
+ + + +
+

给对象设置属性值

+
+

Parameters

+ + + + + + + + + + + + +
$object
array$options
+ + + + +
+
+ +
+
+

+
at line 85
+ static string + encode(mixed $obj) + +

+
+ + + +
+

定义一个用来序列化数据的函数

+
+

Parameters

+ + + + + + + +
mixed$obj
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 96
+ static mixed + decode(string $txt, bool|array $allowedClasses = false) + +

+
+ + + +
+

反序列化

+
+

Parameters

+ + + + + + + + + + + + +
string$txt
bool|array$allowedClasses
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 107
+ static array|bool + toArray(iterable|array|Traversable $data, bool $recursive = false) + +

+
+ + + +
+

php对象转换成为数组

+
+

Parameters

+ + + + + + + + + + + + +
iterable|array|Traversable$data
bool$recursive
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
at line 138
+ static string + hash(mixed $object, bool $unique = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
mixed$object
bool$unique
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 162
+ static array + getMethodArgs(ReflectionMethod $method, array $extraArgs = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
ReflectionMethod$methodMethod for which to build the argument array.
array$extraArgs
+ + +

Return Value

+ + + + + + +
array
+ + +

Exceptions

+ + + + + + +
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 211
+ static mixed + create(string $class) + +

+
+ + + +
+

从类名创建服务实例对象,会尽可能自动补完构造函数依赖

+
+

Parameters

+ + + + + + + +
string$classa className
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
DependencyResolutionException
+ + +
+
+ +
+
+

+
at line 236
+ static mixed + smartCreate(string|array $config) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|array$config
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/ObjectStorage.html b/classes-docs/master/Toolkit/ObjUtil/ObjectStorage.html new file mode 100644 index 0000000..82e748c --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/ObjectStorage.html @@ -0,0 +1,299 @@ + + + + + + Toolkit\ObjUtil\ObjectStorage | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + ObjectStorage extends SplObjectStorage +

+ + + + +
+

Class ObjectStorage + - 允许使用非对象作为key,会自动使用 \stdClass 转成对象

+ + + + +

Methods

+ +
+
+
+ +
+
+ attach(mixed $key, null $data = null) + +

No description

+
+
+
+
+
+ +
+
+ detach(mixed $key) + +

No description

+
+
+
+
+
+ bool +
+
+ contains(mixed $key) + +

No description

+
+
+
+
+
+ bool +
+
+ has(mixed $key) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 22
+ + attach(mixed $key, null $data = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
mixed$key
null$data
+ + + + +
+
+ +
+
+

+
at line 36
+ + detach(mixed $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$key
+ + + + +
+
+ +
+
+

+
at line 51
+ bool + contains(mixed $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 66
+ bool + has(mixed $key) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$key
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits.html b/classes-docs/master/Toolkit/ObjUtil/Traits.html new file mode 100644 index 0000000..9f3f53e --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits.html @@ -0,0 +1,149 @@ + + + + + + Toolkit\ObjUtil\Traits | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Class TraitArrayAccess +
+
+
+ +
+ Class TraitArrayAccess +
+
+
+ +
+ Class ObjectPoolTrait +
+
+
+ +
+ trait PropertyAccessByGetterSetterTrait +
+
+
+ +
+ Trait SingletonTrait +
+
+
+ +
+ Class StdObjectTrait +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByGetterSetterTrait.html b/classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByGetterSetterTrait.html new file mode 100644 index 0000000..2941364 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByGetterSetterTrait.html @@ -0,0 +1,320 @@ + + + + + + Toolkit\ObjUtil\Traits\ArrayAccessByGetterSetterTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + ArrayAccessByGetterSetterTrait +

+ + + + +
+

Class TraitArrayAccess

+ + + + +

Methods

+ +
+
+
+ boolean +
+
+ offsetExists(mixed $offset) + +

Checks whether an offset exists in the iterator.

+
+
+
+
+ mixed +
+
+ offsetGet(mixed $offset) + +

Gets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetSet(mixed $offset, mixed $value) + +

Sets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+
+
+
+ + +

Details

+ +
+
+

+
at line 28
+ boolean + offsetExists(mixed $offset) + +

+
+ + + +
+

Checks whether an offset exists in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
booleanTrue if the offset exists, false otherwise.
+ + + +
+
+ +
+
+

+
at line 38
+ mixed + offsetGet(mixed $offset) + +

+
+ + + +
+

Gets an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixedThe array value if it exists, null otherwise.
+ + + +
+
+ +
+
+

+
at line 49
+ void + offsetSet(mixed $offset, mixed $value) + +

+
+ + + +
+

Sets an offset in the iterator.

+
+

Parameters

+ + + + + + + + + + + + +
mixed$offsetThe array offset.
mixed$valueThe array value.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 59
+ void + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByPropertyTrait.html b/classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByPropertyTrait.html new file mode 100644 index 0000000..1344a0d --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits/ArrayAccessByPropertyTrait.html @@ -0,0 +1,320 @@ + + + + + + Toolkit\ObjUtil\Traits\ArrayAccessByPropertyTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + ArrayAccessByPropertyTrait +

+ + + + +
+

Class TraitArrayAccess

+ + + + +

Methods

+ +
+
+
+ boolean +
+
+ offsetExists(mixed $offset) + +

Checks whether an offset exists in the iterator.

+
+
+
+
+ mixed +
+
+ offsetGet(mixed $offset) + +

Gets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetSet(mixed $offset, mixed $value) + +

Sets an offset in the iterator.

+
+
+
+
+ void +
+
+ offsetUnset(mixed $offset) + +

Unset an offset in the iterator.

+
+
+
+ + +

Details

+ +
+
+

+
at line 28
+ boolean + offsetExists(mixed $offset) + +

+
+ + + +
+

Checks whether an offset exists in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
booleanTrue if the offset exists, false otherwise.
+ + + +
+
+ +
+
+

+
at line 38
+ mixed + offsetGet(mixed $offset) + +

+
+ + + +
+

Gets an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
mixedThe array value if it exists, null otherwise.
+ + + +
+
+ +
+
+

+
at line 49
+ void + offsetSet(mixed $offset, mixed $value) + +

+
+ + + +
+

Sets an offset in the iterator.

+
+

Parameters

+ + + + + + + + + + + + +
mixed$offsetThe array offset.
mixed$valueThe array value.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 59
+ void + offsetUnset(mixed $offset) + +

+
+ + + +
+

Unset an offset in the iterator.

+
+

Parameters

+ + + + + + + +
mixed$offsetThe array offset.
+ + +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits/ObjectPoolTrait.html b/classes-docs/master/Toolkit/ObjUtil/Traits/ObjectPoolTrait.html new file mode 100644 index 0000000..df61e95 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits/ObjectPoolTrait.html @@ -0,0 +1,414 @@ + + + + + + Toolkit\ObjUtil\Traits\ObjectPoolTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + ObjectPoolTrait +

+ + + + +
+

Class ObjectPoolTrait

+ + + + +

Methods

+ +
+
+
+ static mixed +
+
+ get(string $class) + +

No description

+
+
+
+
+
+ static  +
+
+ put(stdClass|string $object) + +

No description

+
+
+
+
+
+ static mixed +
+
+ use(string $class, Closure $handler) + +

No description

+
+
+
+
+
+ static SplStack +
+
+ getStack(string|stdClass $class) + +

No description

+
+
+
+
+
+ static int +
+
+ count(null $class = null) + +

No description

+
+
+
+
+
+ static  +
+
+ destroy(null $class = null) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ static mixed + get(string $class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$class
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 40
+ static + put(stdClass|string $object) + +

+
+ + + +
+

Parameters

+ + + + + + + +
stdClass|string$object
+ + + + +
+
+ +
+
+

+
at line 54
+ static mixed + use(string $class, Closure $handler) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$class
Closure$handler
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 69
+ static SplStack + getStack(string|stdClass $class) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string|stdClass$class
+ + +

Return Value

+ + + + + + +
SplStack
+ + + +
+
+ +
+
+

+
at line 85
+ static int + count(null $class = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
null$class
+ + +

Return Value

+ + + + + + +
int
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 102
+ static + destroy(null $class = null) + +

+
+ + + +
+

Parameters

+ + + + + + + +
null$class
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits/PropertyAccessByGetterSetterTrait.html b/classes-docs/master/Toolkit/ObjUtil/Traits/PropertyAccessByGetterSetterTrait.html new file mode 100644 index 0000000..92ea314 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits/PropertyAccessByGetterSetterTrait.html @@ -0,0 +1,325 @@ + + + + + + Toolkit\ObjUtil\Traits\PropertyAccessByGetterSetterTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + PropertyAccessByGetterSetterTrait +

+ + + + +
+

trait PropertyAccessByGetterSetterTrait

+ + + + +

Methods

+ +
+
+
+ bool +
+
+ __isset($name) + +

No description

+
+
+
+
+
+ +
+
+ __unset($name) + +

No description

+
+
+
+
+
+ +
+
+ __set($name, $value) + +

No description

+
+
+
+
+
+ mixed +
+
+ __get($name) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 31
+ bool + __isset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 46
+ + __unset($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + + +

Exceptions

+ + + + + + +
NotFoundException
+ + +
+
+ +
+
+

+
at line 65
+ + __set($name, $value) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$name
$value
+ + + +

Exceptions

+ + + + + + +
SetPropertyException
+ + +
+
+ +
+
+

+
at line 84
+ mixed + __get($name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$name
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
GetPropertyException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits/SingletonTrait.html b/classes-docs/master/Toolkit/ObjUtil/Traits/SingletonTrait.html new file mode 100644 index 0000000..854da46 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits/SingletonTrait.html @@ -0,0 +1,154 @@ + + + + + + Toolkit\ObjUtil\Traits\SingletonTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + SingletonTrait +

+ + + + +
+

Trait SingletonTrait

+ + + + +

Methods

+ +
+
+
+ static mixed +
+
+ own() + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 22
+ static mixed + own() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/ObjUtil/Traits/StdObjectTrait.html b/classes-docs/master/Toolkit/ObjUtil/Traits/StdObjectTrait.html new file mode 100644 index 0000000..60bb7c1 --- /dev/null +++ b/classes-docs/master/Toolkit/ObjUtil/Traits/StdObjectTrait.html @@ -0,0 +1,453 @@ + + + + + + Toolkit\ObjUtil\Traits\StdObjectTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + StdObjectTrait +

+ + + + +
+

Class StdObjectTrait

+ + + + +

Methods

+ +
+
+
+ static string +
+
+ fullName() + +

get called class full name

+
+
+
+
+ static string +
+
+ spaceName(string $fullName = null) + +

get called class namespace

+
+
+
+
+ static string +
+
+ className(string $fullName = null) + +

get called class name

+
+
+
+
+ +
+
+ __construct(array $config = []) + +

StdObject constructor.

+
+
+
+
+ +
+
+ init() + +

init

+
+
+
+
+ mixed +
+
+ __call(string $method, array $args) + +

No description

+
+
+
+
+
+ static mixed +
+
+ __callStatic(string $method, $args) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 24
+ final static string + fullName() + +

+
+ + + +
+

get called class full name

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 34
+ final static string + spaceName(string $fullName = null) + +

+
+ + + +
+

get called class namespace

+
+

Parameters

+ + + + + + + +
string$fullName
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 47
+ final static string + className(string $fullName = null) + +

+
+ + + +
+

get called class name

+
+

Parameters

+ + + + + + + +
string$fullName
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 59
+ + __construct(array $config = []) + +

+
+ + + +
+

StdObject constructor.

+
+

Parameters

+ + + + + + + +
array$config
+ + + + +
+
+ +
+
+

+
at line 69
+ protected + init() + +

+
+ + + +
+

init

+
+ + + +
+
+ +
+
+

+
at line 80
+ mixed + __call(string $method, array $args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 95
+ static mixed + __callStatic(string $method, $args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
$args
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil.html b/classes-docs/master/Toolkit/PhpUtil.html new file mode 100644 index 0000000..37567dd --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil.html @@ -0,0 +1,149 @@ + + + + + + Toolkit\PhpUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+
+ AutoLoader + +
+
+ Class AutoLoader +
+
+
+
+ Php + +
+
+ Class Php - alias of the class PhpHelper +
+
+
+
+ PhpEnv + +
+
+ Class PhpEnv +
+
+
+
+ PhpError + +
+
+ Class PhpError +
+
+
+
+ PhpException + +
+
+ Class PhpException +
+
+
+
+ PhpHelper + +
+
+ Class PhpHelper +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil/AutoLoader.html b/classes-docs/master/Toolkit/PhpUtil/AutoLoader.html new file mode 100644 index 0000000..3e4417c --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil/AutoLoader.html @@ -0,0 +1,861 @@ + + + + + + Toolkit\PhpUtil\AutoLoader | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + AutoLoader +

+ + + + +
+

Class AutoLoader

+ + + + +

Methods

+ +
+
+
+ static AutoLoader +
+
+ getLoader() + +

No description

+
+
+
+
+
+ static array +
+
+ getFiles() + +

No description

+
+
+
+
+
+ static  +
+
+ setFiles(array $files) + +

No description

+
+
+
+
+
+ static  +
+
+ addFiles(array $files) + +

No description

+
+
+
+
+
+ +
+
+ addPsr0(string $prefix, string $path) + +

No description

+
+
+
+
+
+ +
+
+ addPsr0Map(array $psr0Map) + +

No description

+
+
+
+
+
+ +
+
+ addPsr4(string $prefix, string $path) + +

No description

+
+
+
+
+
+ +
+
+ addPsr4Map(array $psr4Map) + +

No description

+
+
+
+
+
+ array +
+
+ getPsr4Map() + +

No description

+
+
+
+
+
+ +
+
+ setPsr4Map(array $psr4Map) + +

No description

+
+
+
+
+
+ array +
+
+ getClassMap() + +

No description

+
+
+
+
+
+ +
+
+ setClassMap(array $classMap) + +

No description

+
+
+
+
+
+ +
+
+ addClassMap(array $classMap) + +

No description

+
+
+
+
+
+ +
+
+ register(bool $prepend = false) + +

Registers this instance as an autoloader.

+
+
+
+
+ +
+
+ unRegister() + +

Un-registers this instance as an autoloader.

+
+
+
+
+ bool|null +
+
+ loadClass(string $class) + +

Loads the given class or interface.

+
+
+
+
+ string|false +
+
+ findFile(string $class) + +

Finds the path to the file where the class is defined.

+
+
+
+
+ array +
+
+ getMissingClasses() + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 69
+ static AutoLoader + getLoader() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
AutoLoader
+ + + +
+
+ +
+
+

+
at line 93
+ static array + getFiles() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 101
+ static + setFiles(array $files) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$files
+ + + + +
+
+ +
+
+

+
at line 109
+ static + addFiles(array $files) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$files
+ + + + +
+
+ +
+
+

+
at line 126
+ + addPsr0(string $prefix, string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$prefix
string$path
+ + + + +
+
+ +
+
+

+
at line 134
+ + addPsr0Map(array $psr0Map) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$psr0MapClass to filename map
+ + + + +
+
+ +
+
+

+
at line 148
+ + addPsr4(string $prefix, string $path) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$prefix
string$path
+ + + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 163
+ + addPsr4Map(array $psr4Map) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$psr4MapClass to filename map
+ + + + +
+
+ +
+
+

+
at line 175
+ array + getPsr4Map() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 183
+ + setPsr4Map(array $psr4Map) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$psr4Map
+ + + + +
+
+ +
+
+

+
at line 191
+ array + getClassMap() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 199
+ + setClassMap(array $classMap) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$classMap
+ + + + +
+
+ +
+
+

+
at line 207
+ + addClassMap(array $classMap) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$classMapClass to filename map
+ + + + +
+
+ +
+
+

+
at line 220
+ + register(bool $prepend = false) + +

+
+ + + +
+

Registers this instance as an autoloader.

+
+

Parameters

+ + + + + + + +
bool$prependWhether to prepend the autoloader or not
+ + + + +
+
+ +
+
+

+
at line 228
+ + unRegister() + +

+
+ + + +
+

Un-registers this instance as an autoloader.

+
+ + + +
+
+ +
+
+

+
at line 238
+ bool|null + loadClass(string $class) + +

+
+ + + +
+

Loads the given class or interface.

+
+

Parameters

+ + + + + + + +
string$classThe name of the class
+ + +

Return Value

+ + + + + + +
bool|nullTrue if loaded, null otherwise
+ + + +
+
+ +
+
+

+
at line 254
+ string|false + findFile(string $class) + +

+
+ + + +
+

Finds the path to the file where the class is defined.

+
+

Parameters

+ + + + + + + +
string$classThe name of the class
+ + +

Return Value

+ + + + + + +
string|falseThe path if found, false otherwise
+ + + +
+
+ +
+
+

+
at line 309
+ array + getMissingClasses() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil/Php.html b/classes-docs/master/Toolkit/PhpUtil/Php.html new file mode 100644 index 0000000..8a625c9 --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil/Php.html @@ -0,0 +1,526 @@ + + + + + + Toolkit\PhpUtil\Php | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Php extends PhpHelper +

+ + + + +
+

Class Php - alias of the class PhpHelper

+ + + + +

Methods

+ +
+
+
+ static mixed +
+
+ call(callable|mixed $cb, array ...$args) + +

No description

+
+
from PhpHelper
+
+
+
+ static mixed +
+
+ callByArray(callable $cb, array $args) + +

No description

+
+
from PhpHelper
+
+
+
+ static array +
+
+ runtime(int $startTime, int|float $startMem, array $info = [], bool $realUsage = false) + +

获取资源消耗

+
from PhpHelper
+
+
+
+ static int +
+
+ getMaxUploadSize(int $max_size = 0) + +

根据服务器设置得到文件上传大小的最大值

+
from PhpHelper
+
+
+
+ static array +
+
+ getUserConstants() + +

No description

+
+
from PhpHelper
+
+
+
+ static string +
+
+ dumpVars(array ...$args) + +

dump vars

+
from PhpHelper
+
+
+
+ static string +
+
+ printVars(array ...$args) + +

print vars

+
from PhpHelper
+
+
+
+ static mixed +
+
+ exportVar($var) + +

No description

+
+
from PhpHelper
+
+
+ + +

Details

+ +
+
+

+
in PhpHelper at line 21
+ static mixed + call(callable|mixed $cb, array ...$args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callable|mixed$cb
array...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in PhpHelper at line 49
+ static mixed + callByArray(callable $cb, array $args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callable$cb
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in PhpHelper at line 62
+ static array + runtime(int $startTime, int|float $startMem, array $info = [], bool $realUsage = false) + +

+
+ + + +
+

获取资源消耗

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
int$startTime
int|float$startMem
array$info
bool$realUsage
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in PhpHelper at line 89
+ static int + getMaxUploadSize(int $max_size = 0) + +

+
+ + + +
+

根据服务器设置得到文件上传大小的最大值

+
+

Parameters

+ + + + + + + +
int$max_sizeoptional max file size
+ + +

Return Value

+ + + + + + +
intmax file size in bytes
+ + + +
+
+ +
+
+

+
in PhpHelper at line 106
+ static array + getUserConstants() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in PhpHelper at line 118
+ static string + dumpVars(array ...$args) + +

+
+ + + +
+

dump vars

+
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in PhpHelper at line 132
+ static string + printVars(array ...$args) + +

+
+ + + +
+

print vars

+
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in PhpHelper at line 147
+ static mixed + exportVar($var) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$var
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil/PhpEnv.html b/classes-docs/master/Toolkit/PhpUtil/PhpEnv.html new file mode 100644 index 0000000..a25a7a8 --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil/PhpEnv.html @@ -0,0 +1,807 @@ + + + + + + Toolkit\PhpUtil\PhpEnv | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PhpEnv +

+ + + + +
+

Class PhpEnv

+ + + + +

Methods

+ +
+
+
+ static string +
+
+ getVersion() + +

Get PHP version

+
+
+
+
+ static boolean +
+
+ isEmbed() + +

isEmbed

+
+
+
+
+ static bool +
+
+ isCgi() + +

No description

+
+
+
+
+
+ static boolean +
+
+ isCli() + +

is Cli

+
+
+
+
+ static boolean +
+
+ isBuiltInServer() + +

is Build In Server +run server use like: php -S 127.0.0.1:8085

+
+
+
+
+ static bool +
+
+ isDevServer() + +

No description

+
+
+
+
+
+ static boolean +
+
+ isWeb() + +

isWeb

+
+
+
+
+ static boolean +
+
+ isHHVM() + +

isHHVM

+
+
+
+
+ static boolean +
+
+ isPHP() + +

isPHP

+
+
+
+
+ static void +
+
+ setStrict() + +

setStrict

+
+
+
+
+ static void +
+
+ setMuted() + +

setMuted

+
+
+
+
+ static bool +
+
+ hasExtension(string $name) + +

No description

+
+
+
+
+
+ static boolean +
+
+ hasXDebug() + +

Returns true when the runtime used is PHP and Xdebug is loaded.

+
+
+
+
+ static bool +
+
+ extIsLoaded(string $name, bool|false $throwException = false) + +

No description

+
+
+
+
+
+ static array|bool +
+
+ checkExtList(array $extensions = array()) + +

检查多个扩展加载情况

+
+
+
+
+ static array +
+
+ getLoadedExtension(bool $zend_extensions = false) + +

返回加载的扩展

+
+
+
+ + +

Details

+ +
+
+

+
at line 25
+ static string + getVersion() + +

+
+ + + +
+

Get PHP version

+
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 34
+ static boolean + isEmbed() + +

+
+ + + +
+

isEmbed

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 42
+ static bool + isCgi() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 51
+ static boolean + isCli() + +

+
+ + + +
+

is Cli

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 61
+ static boolean + isBuiltInServer() + +

+
+ + + +
+

is Build In Server +run server use like: php -S 127.0.0.1:8085

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 69
+ static bool + isDevServer() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 78
+ static boolean + isWeb() + +

+
+ + + +
+

isWeb

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 95
+ static boolean + isHHVM() + +

+
+ + + +
+

isHHVM

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 104
+ static boolean + isPHP() + +

+
+ + + +
+

isPHP

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 113
+ static void + setStrict() + +

+
+ + + +
+

setStrict

+
+ +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 122
+ static void + setMuted() + +

+
+ + + +
+

setMuted

+
+ +

Return Value

+ + + + + + +
void
+ + + +
+
+ +
+
+

+
at line 131
+ static bool + hasExtension(string $name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 140
+ static boolean + hasXDebug() + +

+
+ + + +
+

Returns true when the runtime used is PHP and Xdebug is loaded.

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 151
+ static bool + extIsLoaded(string $name, bool|false $throwException = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
bool|false$throwException
+ + +

Return Value

+ + + + + + +
bool
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 167
+ static array|bool + checkExtList(array $extensions = array()) + +

+
+ + + +
+

检查多个扩展加载情况

+
+

Parameters

+ + + + + + + +
array$extensions
+ + +

Return Value

+ + + + + + +
array|bool
+ + + +
+
+ +
+
+

+
at line 188
+ static array + getLoadedExtension(bool $zend_extensions = false) + +

+
+ + + +
+

返回加载的扩展

+
+

Parameters

+ + + + + + + +
bool$zend_extensions
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil/PhpError.html b/classes-docs/master/Toolkit/PhpUtil/PhpError.html new file mode 100644 index 0000000..393127b --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil/PhpError.html @@ -0,0 +1,232 @@ + + + + + + Toolkit\PhpUtil\PhpError | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PhpError +

+ + + + +
+

Class PhpError

+ + + +

Properties

+ + + + + + + + +
+ static array + $fatalErrors
+ + +

Methods

+ +
+
+
+ static array +
+
+ toArray(array $lastError, null|string $catcher = null) + +

$lastError = error_get_last();

+
+
+
+
+ static string +
+
+ codeToString(int $code) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ static array + toArray(array $lastError, null|string $catcher = null) + +

+
+ + + +
+

$lastError = error_get_last();

+
+

Parameters

+ + + + + + + + + + + + +
array$lastError
null|string$catcher
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 48
+ static string + codeToString(int $code) + +

+
+ + + +
+

Parameters

+ + + + + + + +
int$code
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil/PhpException.html b/classes-docs/master/Toolkit/PhpUtil/PhpException.html new file mode 100644 index 0000000..048256e --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil/PhpException.html @@ -0,0 +1,361 @@ + + + + + + Toolkit\PhpUtil\PhpException | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PhpException +

+ + + + +
+

Class PhpException

+ + + + +

Methods

+ +
+
+
+ static  +
+
+ toString($e, $getTrace = true, $catcher = null) + +

No description

+
+
+
+
+
+ static string +
+
+ toHtml($e, $getTrace = true, $catcher = null, $clearHtml = false) + +

Converts an exception into a simple string.

+
+
+
+
+ static array +
+
+ toArray(Exception|Throwable $e, bool $getTrace = true, null|string $catcher = null) + +

Converts an exception into a simple array.

+
+
+
+
+ static string +
+
+ toJson(Exception|Throwable $e, bool $getTrace = true, null|string $catcher = null) + +

Converts an exception into a json string.

+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ static + toString($e, $getTrace = true, $catcher = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$e
$getTrace
$catcher
+ + + + +

See also

+ + + + + + +
+ PhpException::toHtml + {@inheritdoc}
+ +
+
+ +
+
+

+
at line 34
+ static string + toHtml($e, $getTrace = true, $catcher = null, $clearHtml = false) + +

+
+ + + +
+

Converts an exception into a simple string.

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$e
$getTrace
$catcher
$clearHtml
+ + +

Return Value

+ + + + + + +
stringthe string representation of the exception.
+ + + +
+
+ +
+
+

+
at line 61
+ static array + toArray(Exception|Throwable $e, bool $getTrace = true, null|string $catcher = null) + +

+
+ + + +
+

Converts an exception into a simple array.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
Exception|Throwable$ethe exception being converted
bool$getTrace
null|string$catcher
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 88
+ static string + toJson(Exception|Throwable $e, bool $getTrace = true, null|string $catcher = null) + +

+
+ + + +
+

Converts an exception into a json string.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
Exception|Throwable$ethe exception being converted
bool$getTrace
null|string$catcher
+ + +

Return Value

+ + + + + + +
stringthe string representation of the exception.
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/PhpUtil/PhpHelper.html b/classes-docs/master/Toolkit/PhpUtil/PhpHelper.html new file mode 100644 index 0000000..2f86330 --- /dev/null +++ b/classes-docs/master/Toolkit/PhpUtil/PhpHelper.html @@ -0,0 +1,526 @@ + + + + + + Toolkit\PhpUtil\PhpHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PhpHelper +

+ + + + +
+

Class PhpHelper

+ + + + +

Methods

+ +
+
+
+ static mixed +
+
+ call(callable|mixed $cb, array ...$args) + +

No description

+
+
+
+
+
+ static mixed +
+
+ callByArray(callable $cb, array $args) + +

No description

+
+
+
+
+
+ static array +
+
+ runtime(int $startTime, int|float $startMem, array $info = [], bool $realUsage = false) + +

获取资源消耗

+
+
+
+
+ static int +
+
+ getMaxUploadSize(int $max_size = 0) + +

根据服务器设置得到文件上传大小的最大值

+
+
+
+
+ static array +
+
+ getUserConstants() + +

No description

+
+
+
+
+
+ static string +
+
+ dumpVars(array ...$args) + +

dump vars

+
+
+
+
+ static string +
+
+ printVars(array ...$args) + +

print vars

+
+
+
+
+ static mixed +
+
+ exportVar($var) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ static mixed + call(callable|mixed $cb, array ...$args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callable|mixed$cb
array...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 49
+ static mixed + callByArray(callable $cb, array $args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
callable$cb
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 62
+ static array + runtime(int $startTime, int|float $startMem, array $info = [], bool $realUsage = false) + +

+
+ + + +
+

获取资源消耗

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
int$startTime
int|float$startMem
array$info
bool$realUsage
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 89
+ static int + getMaxUploadSize(int $max_size = 0) + +

+
+ + + +
+

根据服务器设置得到文件上传大小的最大值

+
+

Parameters

+ + + + + + + +
int$max_sizeoptional max file size
+ + +

Return Value

+ + + + + + +
intmax file size in bytes
+ + + +
+
+ +
+
+

+
at line 106
+ static array + getUserConstants() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 118
+ static string + dumpVars(array ...$args) + +

+
+ + + +
+

dump vars

+
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 132
+ static string + printVars(array ...$args) + +

+
+ + + +
+

print vars

+
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 147
+ static mixed + exportVar($var) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$var
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil.html b/classes-docs/master/Toolkit/StrUtil.html new file mode 100644 index 0000000..45cb41d --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil.html @@ -0,0 +1,159 @@ + + + + + + Toolkit\StrUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+
+ HtmlHelper + +
+
+ Class HtmlHelper +
+
+
+
+ Json + +
+
+ Class Json +
+
+
+
+ JsonHelper + +
+
+ Class JsonHelper +
+
+
+
+ Str + +
+
+ Class Str + alias of the StringHelper +
+
+
+
+ StrBuffer + +
+
+ Class StrBuffer +
+
+
+
+ StringHelper + +
+
+ Class StringHelper +
+
+
+
+ UrlHelper + +
+
+ Class UrlHelper +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/HtmlHelper.html b/classes-docs/master/Toolkit/StrUtil/HtmlHelper.html new file mode 100644 index 0000000..2092ab0 --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/HtmlHelper.html @@ -0,0 +1,742 @@ + + + + + + Toolkit\StrUtil\HtmlHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + HtmlHelper +

+ + + + +
+

Class HtmlHelper

+ + + + +

Methods

+ +
+
+
+ static string +
+
+ encode(string $text, string $charset = 'utf-8') + +

Encodes special characters into HTML entities.

+
+
+
+
+ static string +
+
+ decode(string $text) + +

This is the opposite of {@link encode()}.

+
+
+
+
+ static array +
+
+ encodeArray(array $data, string $charset = 'utf-8') + +

No description

+
+
+
+
+
+ static array|mixed|string +
+
+ escape($data, int $type = 0, string $encoding = 'UTF-8') + +

html代码转义 +htmlspecialchars 只转化这几个html [ & ' " < > ] 代码 --> [ & " ], +而 htmlentities 却会转化所有的html代码,连同里面的它无法识别的中文字符也会转化。 +一般使用 htmlspecialchars 就足够了,要使用 htmlentities 时,要注意为第三个参数传递正确的编码。 + htmlentities() <--> html_entity_decode() — 将特殊的 HTML 实体转换回普通字符 + htmlspecialchars() <--> htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符 +ENT_COMPAT ENT_QUOTES ENT_NOQUOTES ENT_HTML401 ENT_XML1 ENT_XHTML ENT_HTML5

+
+
+
+
+ static array|string +
+
+ unescap($data, int $type = 0, string $encoding = 'UTF-8') + +

去掉html转义

+
+
+
+
+ static string +
+
+ stripImages(string $string) + +

Strip img-tags from string

+
+
+
+
+ static string +
+
+ stripIframes(string $string) + +

Strip iframe-tags from string

+
+
+
+
+ static string +
+
+ stripScript(string $string) + +

stripScript

+
+
+
+
+ static string +
+
+ stripStyle(string $string) + +

stripStyle

+
+
+
+
+ static array +
+
+ findImages(string $html, bool $onlySrc = true) + +

No description

+
+
+
+
+
+ static string +
+
+ minify(string $html) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 24
+ static string + encode(string $text, string $charset = 'utf-8') + +

+
+ + + +
+

Encodes special characters into HTML entities.

+
+

Parameters

+ + + + + + + + + + + + +
string$textdata to be encoded
string$charset
+ + +

Return Value

+ + + + + + +
stringthe encoded data
+ + + +

See also

+ + + + + + +
+ http://www.php.net/manual/en/function.htmlspecialchars.php +
+ +
+
+ +
+
+

+
at line 35
+ static string + decode(string $text) + +

+
+ + + +
+

This is the opposite of {@link encode()}.

+
+

Parameters

+ + + + + + + +
string$textdata to be decoded
+ + +

Return Value

+ + + + + + +
stringthe decoded data
+ + + +

See also

+ + + + + + +
+ http://www.php.net/manual/en/function.htmlspecialchars-decode.php +
+ +
+
+ +
+
+

+
at line 47
+ static array + encodeArray(array $data, string $charset = 'utf-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
array$datadata to be encoded
string$charset
+ + +

Return Value

+ + + + + + +
arraythe encoded data
+ + + +

See also

+ + + + + + +
+ http://www.php.net/manual/en/function.htmlspecialchars.php +
+ +
+
+ +
+
+

+
at line 82
+ static array|mixed|string + escape($data, int $type = 0, string $encoding = 'UTF-8') + +

+
+ + + +
+

html代码转义 +htmlspecialchars 只转化这几个html [ & ' " < > ] 代码 --> [ & " ], +而 htmlentities 却会转化所有的html代码,连同里面的它无法识别的中文字符也会转化。 +一般使用 htmlspecialchars 就足够了,要使用 htmlentities 时,要注意为第三个参数传递正确的编码。 + htmlentities() <--> html_entity_decode() — 将特殊的 HTML 实体转换回普通字符 + htmlspecialchars() <--> htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符 +ENT_COMPAT ENT_QUOTES ENT_NOQUOTES ENT_HTML401 ENT_XML1 ENT_XHTML ENT_HTML5

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$data
int$type
string$encoding
+ + +

Return Value

+ + + + + + +
array|mixed|string
+ + + +
+
+ +
+
+

+
at line 114
+ static array|string + unescap($data, int $type = 0, string $encoding = 'UTF-8') + +

+
+ + + +
+

去掉html转义

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$data
int$type
string$encoding
+ + +

Return Value

+ + + + + + +
array|string
+ + + +
+
+ +
+
+

+
at line 137
+ static string + stripImages(string $string) + +

+
+ + + +
+

Strip img-tags from string

+
+

Parameters

+ + + + + + + +
string$stringSting to be cleaned.
+ + +

Return Value

+ + + + + + +
stringCleaned string
+ + + +
+
+ +
+
+

+
at line 147
+ static string + stripIframes(string $string) + +

+
+ + + +
+

Strip iframe-tags from string

+
+

Parameters

+ + + + + + + +
string$stringSting to be cleaned.
+ + +

Return Value

+ + + + + + +
stringCleaned string
+ + + +
+
+ +
+
+

+
at line 157
+ static string + stripScript(string $string) + +

+
+ + + +
+

stripScript

+
+

Parameters

+ + + + + + + +
string$string
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 167
+ static string + stripStyle(string $string) + +

+
+ + + +
+

stripStyle

+
+

Parameters

+ + + + + + + +
string$string
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 177
+ static array + findImages(string $html, bool $onlySrc = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$html
bool$onlySrc
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 197
+ static string + minify(string $html) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$html
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/Json.html b/classes-docs/master/Toolkit/StrUtil/Json.html new file mode 100644 index 0000000..5f64f8d --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/Json.html @@ -0,0 +1,467 @@ + + + + + + Toolkit\StrUtil\Json | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Json extends JsonHelper +

+ + + + +
+

Class Json

+ + + + +

Methods

+ +
+
+
+ static string +
+
+ encode($data) + +

encode data to json

+ +
+
+
+ static array|mixed|null|stdClass|string +
+
+ parse(string $data, bool $toArray = true) + +

No description

+
+ +
+
+
+ static mixed|null|string +
+
+ parseFile($file, bool|true $toArray = true) + +

No description

+
+ +
+
+
+ static array|mixed|stdClass +
+
+ parseString(string $string, bool $toArray = true) + +

No description

+
+ +
+
+
+ static string +
+
+ format(string $input, bool $output = false, array $options = []) + +

No description

+
+ +
+
+
+ static bool|int +
+
+ saveAs(string $data, string $output, array $options = []) + +

No description

+
+ +
+
+ + +

Details

+ +
+
+

+
in JsonHelper at line 22
+ static string + encode($data) + +

+
+ + + +
+

encode data to json

+
+

Parameters

+ + + + + + + +
$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in JsonHelper at line 37
+ static array|mixed|null|stdClass|string + parse(string $data, bool $toArray = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$data
bool$toArray
+ + +

Return Value

+ + + + + + +
array|mixed|null|stdClass|string
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
in JsonHelper at line 52
+ static mixed|null|string + parseFile($file, bool|true $toArray = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$file
bool|true$toArray
+ + +

Return Value

+ + + + + + +
mixed|null|string
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
in JsonHelper at line 68
+ static array|mixed|stdClass + parseString(string $string, bool $toArray = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$string
bool$toArray
+ + +

Return Value

+ + + + + + +
array|mixed|stdClass
+ + + +
+
+ +
+
+

+
in JsonHelper at line 97
+ static string + format(string $input, bool $output = false, array $options = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$input文件 或 数据
bool$output是否输出到文件, 默认返回格式化的数据
array$options当 $output=true,此选项有效 +$options = [ + 'type' => 'min' // 输出数据类型 min 压缩过的 raw 正常的 + 'file' => 'xx.json' // 输出文件路径;仅是文件名,则会取输入路径 +]
+ + +

Return Value

+ + + + + + +
string| bool
+ + + +
+
+ +
+
+

+
in JsonHelper at line 147
+ static bool|int + saveAs(string $data, string $output, array $options = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$data
string$output
array$options
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/JsonHelper.html b/classes-docs/master/Toolkit/StrUtil/JsonHelper.html new file mode 100644 index 0000000..9c82a2b --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/JsonHelper.html @@ -0,0 +1,467 @@ + + + + + + Toolkit\StrUtil\JsonHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + JsonHelper +

+ + + + +
+

Class JsonHelper

+ + + + +

Methods

+ +
+
+
+ static string +
+
+ encode($data) + +

encode data to json

+
+
+
+
+ static array|mixed|null|stdClass|string +
+
+ parse(string $data, bool $toArray = true) + +

No description

+
+
+
+
+
+ static mixed|null|string +
+
+ parseFile($file, bool|true $toArray = true) + +

No description

+
+
+
+
+
+ static array|mixed|stdClass +
+
+ parseString(string $string, bool $toArray = true) + +

No description

+
+
+
+
+
+ static string +
+
+ format(string $input, bool $output = false, array $options = []) + +

No description

+
+
+
+
+
+ static bool|int +
+
+ saveAs(string $data, string $output, array $options = []) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 22
+ static string + encode($data) + +

+
+ + + +
+

encode data to json

+
+

Parameters

+ + + + + + + +
$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 37
+ static array|mixed|null|stdClass|string + parse(string $data, bool $toArray = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$data
bool$toArray
+ + +

Return Value

+ + + + + + +
array|mixed|null|stdClass|string
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 52
+ static mixed|null|string + parseFile($file, bool|true $toArray = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$file
bool|true$toArray
+ + +

Return Value

+ + + + + + +
mixed|null|string
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 68
+ static array|mixed|stdClass + parseString(string $string, bool $toArray = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$string
bool$toArray
+ + +

Return Value

+ + + + + + +
array|mixed|stdClass
+ + + +
+
+ +
+
+

+
at line 97
+ static string + format(string $input, bool $output = false, array $options = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$input文件 或 数据
bool$output是否输出到文件, 默认返回格式化的数据
array$options当 $output=true,此选项有效 +$options = [ + 'type' => 'min' // 输出数据类型 min 压缩过的 raw 正常的 + 'file' => 'xx.json' // 输出文件路径;仅是文件名,则会取输入路径 +]
+ + +

Return Value

+ + + + + + +
string| bool
+ + + +
+
+ +
+
+

+
at line 147
+ static bool|int + saveAs(string $data, string $output, array $options = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$data
string$output
array$options
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/Str.html b/classes-docs/master/Toolkit/StrUtil/Str.html new file mode 100644 index 0000000..bd55c28 --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/Str.html @@ -0,0 +1,1967 @@ + + + + + + Toolkit\StrUtil\Str | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Str extends StringHelper +

+ + + + +
+

Class Str + alias of the StringHelper

+ + + + +

Methods

+ +
+
+
+ static boolean +
+
+ regexVerify(string $value, string $rule) + +

使用正则验证数据

+ +
+
+
+ static bool|int +
+
+ strlen($str, string $encoding = 'UTF-8') + +

No description

+
+ +
+
+
+ static int|string +
+
+ length([type] $str) + +

计算字符长度

+ +
+
+
+ static int +
+
+ absLen(string $str) + +

No description

+
+ +
+
+
+ static string +
+
+ utf8SubStr(string $str, int $start = 0, int $end = null) + +

No description

+
+ +
+
+
+ static string +
+
+ zhSubStr(string $str, int $start = 0, int $length, string $charset = 'utf-8', bool $suffix = true) + +

No description

+
+ +
+
+
+ static string +
+
+ random($length, array $param = []) + +

********************** 生成一定长度的随机字符串函数 **********************

+ +
+
+
+ static bool|string +
+
+ genSalt(int $length = 32) + +

No description

+
+ +
+
+
+ static bool|string +
+
+ genUid(int $length = 7) + +

No description

+
+ +
+
+
+ static string +
+
+ nl2br(string $str) + +

Convert \n and \r\n and \r to

+ +
+
+
+ static bool|string +
+
+ strtolower($str) + +

No description

+
+ +
+
+
+ static bool|string +
+
+ strtoupper($str) + +

No description

+
+ +
+
+
+ static bool|string +
+
+ substr($str, $start, bool|false $length = false, string $encoding = 'utf-8') + +

No description

+
+ +
+
+
+ static bool|int +
+
+ strpos($str, $find, int $offset = 0, string $encoding = 'UTF-8') + +

No description

+
+ +
+
+
+ static bool|int +
+
+ strrpos($str, $find, int $offset = 0, string $encoding = 'utf-8') + +

No description

+
+ +
+
+
+ static string +
+
+ ucfirst($str) + +

No description

+
+ +
+
+
+ static string +
+
+ ucwords($str) + +

No description

+
+ +
+
+
+ static array +
+
+ toArray(string $str, string $sep = ',') + +

No description

+
+ +
+
+
+ static array +
+
+ str2array(string $str, string $sep = ',') + +

var_dump(str2array('34,56,678, 678, 89, '));

+ +
+
+
+ static array +
+
+ split2Array(string $path, string $separator = '.') + +

No description

+
+ +
+
+
+ static  +
+
+ truncate($str, $max_length, $suffix = '...') + +

No description

+
+ +
+
+
+ static string +
+
+ truncate_two(string $str, int $start, null|int $length = null) + +

字符截断输出

+ +
+
+
+ static bool|string +
+
+ truncateString(string $text, int $length = 120, array $options = array()) + +

Copied from CakePHP String utility file

+ +
+
+
+ static  +
+
+ toCamel($str, $upperFirstChar = false) + +

No description

+
+ +
+
+
+ static mixed +
+
+ toCamelCase($str, bool $upperFirstChar = false) + +

Translates a string with underscores into camel case (e.g. first_name -> firstName)

+ +
+
+
+ static  +
+
+ toSnake($str, $sep = '_') + +

No description

+
+ +
+
+
+ static string +
+
+ toSnakeCase(string $str, string $sep = '_') + +

Transform a CamelCase string to underscore_case string

+ +
+
+
+ static mixed|string +
+
+ nameChange([type] $str, bool $toCamelCase = true) + +

驼峰式 <=> 下划线式

+ +
+
+
+ static string +
+
+ format($str, array $replaceParams = [], array $pregParams = []) + +

[format description]

+ +
+
+
+ static string +
+
+ wordFormat(string $keyword) + +

格式化,用空格分隔各个词组

+ +
+
+
+ static mixed +
+
+ deleteStripSpace($fileName, int $type = 0) + +

缩进格式化内容,去空白/注释

+ +
+
+
+ static string +
+
+ optional(string $string, string $prefix = ' ', string $suffix = '') + +

No description

+
+
+
+
+
+ static bool +
+
+ contains(string $string, string|array $needle) + +

No description

+
+
+
+
+
+ static bool +
+
+ has(string $string, string|array $needle) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
in StringHelper at line 19
+ static boolean + regexVerify(string $value, string $rule) + +

+
+ + + +
+

使用正则验证数据

+
+

Parameters

+ + + + + + + + + + + + +
string$value要验证的数据
string$rule验证规则 require email url currency number integer english
+ + +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
in StringHelper at line 49
+ static bool|int + strlen($str, string $encoding = 'UTF-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$str
string$encoding
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
in StringHelper at line 61
+ static int|string + length([type] $str) + +

+
+ + + +
+

计算字符长度

+
+

Parameters

+ + + + + + + +
[type]$str
+ + +

Return Value

+ + + + + + +
int|string[type]
+ + + +
+
+ +
+
+

+
in StringHelper at line 87
+ static int + absLen(string $str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$str要计算长度的字符串
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
in StringHelper at line 114
+ static string + utf8SubStr(string $str, int $start = 0, int $end = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$str要进行截取的字符串
int$start要进行截取的开始位置,负数为反向截取
int$end要进行截取的长度
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 156
+ static string + zhSubStr(string $str, int $start = 0, int $length, string $charset = 'utf-8', bool $suffix = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$str要截取的字串
int$start截取起始位置
int$length截取长度
string$charsetutf-8|gb2312|gbk|big5 编码
bool$suffix是否加尾缀
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 193
+ static string + random($length, array $param = []) + +

+
+ + + +
+

********************** 生成一定长度的随机字符串函数 **********************

+
+

Parameters

+ + + + + + + + + + + + +
$length
    +
  • 随机字符串长度
  • +
+
array$param-
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 216
+ static bool|string + genSalt(int $length = 32) + +

+
+ + + +
+

Parameters

+ + + + + + + +
int$length
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 225
+ static bool|string + genUid(int $length = 7) + +

+
+ + + +
+

Parameters

+ + + + + + + +
int$length
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 256
+ static string + nl2br(string $str) + +

+
+ + + +
+

Convert \n and \r\n and \r to

+
+

Parameters

+ + + + + + + +
string$strString to transform
+ + +

Return Value

+ + + + + + +
stringNew string
+ + + +
+
+ +
+
+

+
in StringHelper at line 265
+ static bool|string + strtolower($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 278
+ static bool|string + strtoupper($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 294
+ static bool|string + substr($str, $start, bool|false $length = false, string $encoding = 'utf-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$str
$start
bool|false$length
string$encoding
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 310
+ static bool|int + strpos($str, $find, int $offset = 0, string $encoding = 'UTF-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$str
$find
int$offset
string$encoding
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
in StringHelper at line 323
+ static bool|int + strrpos($str, $find, int $offset = 0, string $encoding = 'utf-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$str
$find
int$offset
string$encoding
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
in StringHelper at line 333
+ static string + ucfirst($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 342
+ static string + ucwords($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 353
+ static array + toArray(string $str, string $sep = ',') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$str
string$sep
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in StringHelper at line 376
+ static array + str2array(string $str, string $sep = ',') + +

+
+ + + +
+

var_dump(str2array('34,56,678, 678, 89, '));

+
+

Parameters

+ + + + + + + + + + + + +
string$str
string$sep
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in StringHelper at line 392
+ static array + split2Array(string $path, string $separator = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$path
string$separator
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in StringHelper at line 406
+ static + truncate($str, $max_length, $suffix = '...') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$str
$max_length
$suffix
+ + + + +
+
+ +
+
+

+
in StringHelper at line 424
+ static string + truncate_two(string $str, int $start, null|int $length = null) + +

+
+ + + +
+

字符截断输出

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$str
int$start
null|int$length
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 451
+ static bool|string + truncateString(string $text, int $length = 120, array $options = array()) + +

+
+ + + +
+

Copied from CakePHP String utility file

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$text
int$length
array$options
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 578
+ static + toCamel($str, $upperFirstChar = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$str
$upperFirstChar
+ + + + +
+
+ +
+
+

+
in StringHelper at line 590
+ static mixed + toCamelCase($str, bool $upperFirstChar = false) + +

+
+ + + +
+

Translates a string with underscores into camel case (e.g. first_name -> firstName)

+
+

Parameters

+ + + + + + + + + + + + +
$str
bool$upperFirstChar
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in StringHelper at line 603
+ static + toSnake($str, $sep = '_') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$str
$sep
+ + + + +
+
+ +
+
+

+
in StringHelper at line 614
+ static string + toSnakeCase(string $str, string $sep = '_') + +

+
+ + + +
+

Transform a CamelCase string to underscore_case string

+
+

Parameters

+ + + + + + + + + + + + +
string$str
string$sep
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in StringHelper at line 629
+ static mixed|string + nameChange([type] $str, bool $toCamelCase = true) + +

+
+ + + +
+

驼峰式 <=> 下划线式

+
+

Parameters

+ + + + + + + + + + + + +
[type]$str[description]
bool$toCamelCasetrue : 驼峰式 => 下划线式 +false : 驼峰式 <= 下划线式
+ + +

Return Value

+ + + + + + +
mixed|string
+ + + +
+
+ +
+
+

+
in StringHelper at line 678
+ static string + format($str, array $replaceParams = [], array $pregParams = []) + +

+
+ + + +
+

[format description]

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$str
array$replaceParams用于 str_replace('search','replace',$str )
array$pregParams用于 preg_replace('pattern','replace',$str)
+ + +

Return Value

+ + + + + + +
string[type] [description]
+ + + +
+
+ +
+
+

+
in StringHelper at line 702
+ static string + wordFormat(string $keyword) + +

+
+ + + +
+

格式化,用空格分隔各个词组

+
+

Parameters

+ + + + + + + +
string$keyword字符串
+ + +

Return Value

+ + + + + + +
string格式化后的字符串
+ + + +
+
+ +
+
+

+
in StringHelper at line 721
+ static mixed + deleteStripSpace($fileName, int $type = 0) + +

+
+ + + +
+

缩进格式化内容,去空白/注释

+
+

Parameters

+ + + + + + + + + + + + +
$fileName
int$type
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 24
+ static string + optional(string $string, string $prefix = ' ', string $suffix = '') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$string
string$prefix
string$suffix
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 38
+ static bool + contains(string $string, string|array $needle) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$string
string|array$needle
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 48
+ static bool + has(string $string, string|array $needle) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$string
string|array$needle
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/StrBuffer.html b/classes-docs/master/Toolkit/StrUtil/StrBuffer.html new file mode 100644 index 0000000..9c63cb1 --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/StrBuffer.html @@ -0,0 +1,463 @@ + + + + + + Toolkit\StrUtil\StrBuffer | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + StrBuffer +

+ + + + +
+

Class StrBuffer

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct($content = '') + +

No description

+
+
+
+
+
+ +
+
+ write(string $content) + +

No description

+
+
+
+
+
+ +
+
+ append(string $content) + +

No description

+
+
+
+
+
+ +
+
+ prepend(string $content) + +

No description

+
+
+
+
+
+ +
+
+ clear() + +

clear

+
+
+
+
+ string +
+
+ getBody() + +

No description

+
+
+
+
+
+ +
+
+ setBody(string $body) + +

No description

+
+
+
+
+
+ string +
+
+ toString() + +

No description

+
+
+
+
+
+ string +
+
+ __toString() + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 22
+ + __construct($content = '') + +

+
+ + + +
+

Parameters

+ + + + + + + +
$content
+ + + + +
+
+ +
+
+

+
at line 30
+ + write(string $content) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 38
+ + append(string $content) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 46
+ + prepend(string $content) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$content
+ + + + +
+
+ +
+
+

+
at line 54
+ + clear() + +

+
+ + + +
+

clear

+
+ + + +
+
+ +
+
+

+
at line 62
+ string + getBody() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 70
+ + setBody(string $body) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$body
+ + + + +
+
+ +
+
+

+
at line 78
+ string + toString() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 86
+ string + __toString() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/StringHelper.html b/classes-docs/master/Toolkit/StrUtil/StringHelper.html new file mode 100644 index 0000000..13ad50c --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/StringHelper.html @@ -0,0 +1,1799 @@ + + + + + + Toolkit\StrUtil\StringHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

abstract class + StringHelper +

+ + + + +
+

Class StringHelper

+ + + + +

Methods

+ +
+
+
+ static boolean +
+
+ regexVerify(string $value, string $rule) + +

使用正则验证数据

+
+
+
+
+ static bool|int +
+
+ strlen($str, string $encoding = 'UTF-8') + +

No description

+
+
+
+
+
+ static int|string +
+
+ length([type] $str) + +

计算字符长度

+
+
+
+
+ static int +
+
+ absLen(string $str) + +

No description

+
+
+
+
+
+ static string +
+
+ utf8SubStr(string $str, int $start = 0, int $end = null) + +

No description

+
+
+
+
+
+ static string +
+
+ zhSubStr(string $str, int $start = 0, int $length, string $charset = 'utf-8', bool $suffix = true) + +

No description

+
+
+
+
+
+ static string +
+
+ random($length, array $param = []) + +

********************** 生成一定长度的随机字符串函数 **********************

+
+
+
+
+ static bool|string +
+
+ genSalt(int $length = 32) + +

No description

+
+
+
+
+
+ static bool|string +
+
+ genUid(int $length = 7) + +

No description

+
+
+
+
+
+ static string +
+
+ nl2br(string $str) + +

Convert \n and \r\n and \r to

+
+
+
+
+ static bool|string +
+
+ strtolower($str) + +

No description

+
+
+
+
+
+ static bool|string +
+
+ strtoupper($str) + +

No description

+
+
+
+
+
+ static bool|string +
+
+ substr($str, $start, bool|false $length = false, string $encoding = 'utf-8') + +

No description

+
+
+
+
+
+ static bool|int +
+
+ strpos($str, $find, int $offset = 0, string $encoding = 'UTF-8') + +

No description

+
+
+
+
+
+ static bool|int +
+
+ strrpos($str, $find, int $offset = 0, string $encoding = 'utf-8') + +

No description

+
+
+
+
+
+ static string +
+
+ ucfirst($str) + +

No description

+
+
+
+
+
+ static string +
+
+ ucwords($str) + +

No description

+
+
+
+
+
+ static array +
+
+ toArray(string $str, string $sep = ',') + +

No description

+
+
+
+
+
+ static array +
+
+ str2array(string $str, string $sep = ',') + +

var_dump(str2array('34,56,678, 678, 89, '));

+
+
+
+
+ static array +
+
+ split2Array(string $path, string $separator = '.') + +

No description

+
+
+
+
+
+ static  +
+
+ truncate($str, $max_length, $suffix = '...') + +

No description

+
+
+
+
+
+ static string +
+
+ truncate_two(string $str, int $start, null|int $length = null) + +

字符截断输出

+
+
+
+
+ static bool|string +
+
+ truncateString(string $text, int $length = 120, array $options = array()) + +

Copied from CakePHP String utility file

+
+
+
+
+ static  +
+
+ toCamel($str, $upperFirstChar = false) + +

No description

+
+
+
+
+
+ static mixed +
+
+ toCamelCase($str, bool $upperFirstChar = false) + +

Translates a string with underscores into camel case (e.g. first_name -> firstName)

+
+
+
+
+ static  +
+
+ toSnake($str, $sep = '_') + +

No description

+
+
+
+
+
+ static string +
+
+ toSnakeCase(string $str, string $sep = '_') + +

Transform a CamelCase string to underscore_case string

+
+
+
+
+ static mixed|string +
+
+ nameChange([type] $str, bool $toCamelCase = true) + +

驼峰式 <=> 下划线式

+
+
+
+
+ static string +
+
+ format($str, array $replaceParams = [], array $pregParams = []) + +

[format description]

+
+
+
+
+ static string +
+
+ wordFormat(string $keyword) + +

格式化,用空格分隔各个词组

+
+
+
+
+ static mixed +
+
+ deleteStripSpace($fileName, int $type = 0) + +

缩进格式化内容,去空白/注释

+
+
+
+ + +

Details

+ +
+
+

+
at line 19
+ static boolean + regexVerify(string $value, string $rule) + +

+
+ + + +
+

使用正则验证数据

+
+

Parameters

+ + + + + + + + + + + + +
string$value要验证的数据
string$rule验证规则 require email url currency number integer english
+ + +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 49
+ static bool|int + strlen($str, string $encoding = 'UTF-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$str
string$encoding
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
at line 61
+ static int|string + length([type] $str) + +

+
+ + + +
+

计算字符长度

+
+

Parameters

+ + + + + + + +
[type]$str
+ + +

Return Value

+ + + + + + +
int|string[type]
+ + + +
+
+ +
+
+

+
at line 87
+ static int + absLen(string $str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$str要计算长度的字符串
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 114
+ static string + utf8SubStr(string $str, int $start = 0, int $end = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$str要进行截取的字符串
int$start要进行截取的开始位置,负数为反向截取
int$end要进行截取的长度
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 156
+ static string + zhSubStr(string $str, int $start = 0, int $length, string $charset = 'utf-8', bool $suffix = true) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
string$str要截取的字串
int$start截取起始位置
int$length截取长度
string$charsetutf-8|gb2312|gbk|big5 编码
bool$suffix是否加尾缀
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 193
+ static string + random($length, array $param = []) + +

+
+ + + +
+

********************** 生成一定长度的随机字符串函数 **********************

+
+

Parameters

+ + + + + + + + + + + + +
$length
    +
  • 随机字符串长度
  • +
+
array$param-
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 216
+ static bool|string + genSalt(int $length = 32) + +

+
+ + + +
+

Parameters

+ + + + + + + +
int$length
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 225
+ static bool|string + genUid(int $length = 7) + +

+
+ + + +
+

Parameters

+ + + + + + + +
int$length
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 256
+ static string + nl2br(string $str) + +

+
+ + + +
+

Convert \n and \r\n and \r to

+
+

Parameters

+ + + + + + + +
string$strString to transform
+ + +

Return Value

+ + + + + + +
stringNew string
+ + + +
+
+ +
+
+

+
at line 265
+ static bool|string + strtolower($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 278
+ static bool|string + strtoupper($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 294
+ static bool|string + substr($str, $start, bool|false $length = false, string $encoding = 'utf-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$str
$start
bool|false$length
string$encoding
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 310
+ static bool|int + strpos($str, $find, int $offset = 0, string $encoding = 'UTF-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$str
$find
int$offset
string$encoding
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
at line 323
+ static bool|int + strrpos($str, $find, int $offset = 0, string $encoding = 'utf-8') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + +
$str
$find
int$offset
string$encoding
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
at line 333
+ static string + ucfirst($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 342
+ static string + ucwords($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 353
+ static array + toArray(string $str, string $sep = ',') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$str
string$sep
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 376
+ static array + str2array(string $str, string $sep = ',') + +

+
+ + + +
+

var_dump(str2array('34,56,678, 678, 89, '));

+
+

Parameters

+ + + + + + + + + + + + +
string$str
string$sep
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 392
+ static array + split2Array(string $path, string $separator = '.') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$path
string$separator
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 406
+ static + truncate($str, $max_length, $suffix = '...') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$str
$max_length
$suffix
+ + + + +
+
+ +
+
+

+
at line 424
+ static string + truncate_two(string $str, int $start, null|int $length = null) + +

+
+ + + +
+

字符截断输出

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$str
int$start
null|int$length
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 451
+ static bool|string + truncateString(string $text, int $length = 120, array $options = array()) + +

+
+ + + +
+

Copied from CakePHP String utility file

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$text
int$length
array$options
+ + +

Return Value

+ + + + + + +
bool|string
+ + + +
+
+ +
+
+

+
at line 578
+ static + toCamel($str, $upperFirstChar = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$str
$upperFirstChar
+ + + + +
+
+ +
+
+

+
at line 590
+ static mixed + toCamelCase($str, bool $upperFirstChar = false) + +

+
+ + + +
+

Translates a string with underscores into camel case (e.g. first_name -> firstName)

+
+

Parameters

+ + + + + + + + + + + + +
$str
bool$upperFirstChar
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 603
+ static + toSnake($str, $sep = '_') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$str
$sep
+ + + + +
+
+ +
+
+

+
at line 614
+ static string + toSnakeCase(string $str, string $sep = '_') + +

+
+ + + +
+

Transform a CamelCase string to underscore_case string

+
+

Parameters

+ + + + + + + + + + + + +
string$str
string$sep
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 629
+ static mixed|string + nameChange([type] $str, bool $toCamelCase = true) + +

+
+ + + +
+

驼峰式 <=> 下划线式

+
+

Parameters

+ + + + + + + + + + + + +
[type]$str[description]
bool$toCamelCasetrue : 驼峰式 => 下划线式 +false : 驼峰式 <= 下划线式
+ + +

Return Value

+ + + + + + +
mixed|string
+ + + +
+
+ +
+
+

+
at line 678
+ static string + format($str, array $replaceParams = [], array $pregParams = []) + +

+
+ + + +
+

[format description]

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$str
array$replaceParams用于 str_replace('search','replace',$str )
array$pregParams用于 preg_replace('pattern','replace',$str)
+ + +

Return Value

+ + + + + + +
string[type] [description]
+ + + +
+
+ +
+
+

+
at line 702
+ static string + wordFormat(string $keyword) + +

+
+ + + +
+

格式化,用空格分隔各个词组

+
+

Parameters

+ + + + + + + +
string$keyword字符串
+ + +

Return Value

+ + + + + + +
string格式化后的字符串
+ + + +
+
+ +
+
+

+
at line 721
+ static mixed + deleteStripSpace($fileName, int $type = 0) + +

+
+ + + +
+

缩进格式化内容,去空白/注释

+
+

Parameters

+ + + + + + + + + + + + +
$fileName
int$type
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/StrUtil/UrlHelper.html b/classes-docs/master/Toolkit/StrUtil/UrlHelper.html new file mode 100644 index 0000000..fec6eac --- /dev/null +++ b/classes-docs/master/Toolkit/StrUtil/UrlHelper.html @@ -0,0 +1,541 @@ + + + + + + Toolkit\StrUtil\UrlHelper | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + UrlHelper +

+ + + + +
+

Class UrlHelper

+ + + +

Properties

+ + + + + + + + + + + + + + +
+ static protected + $entities
+ static protected + $replacements
+ + +

Methods

+ +
+
+
+ static boolean +
+
+ isRelative(string $url) + +

No description

+
+
+
+
+
+ static bool +
+
+ isUrl($str) + +

No description

+
+
+
+
+
+ static bool +
+
+ isFullUrl($url) + +

No description

+
+
+
+
+
+ static string +
+
+ build(string $url, mixed $data = null) + +

No description

+
+
+
+
+
+ static bool +
+
+ canAccessed($url) + +

No description

+
+
+
+
+
+ static  +
+
+ parseUrl($url) + +

No description

+
+
+
+
+
+ static mixed|string +
+
+ encode($url) + +

url_encode form urlencode(),但是 : / ? & = .

+
+
+
+
+ static mixed|string +
+
+ encode2(string $url) + +

[urlEncode 会先转换编码] +$url="ftp://ud03:password@www.xxx.net/中文/中文.rar"; +$url1 = url_encode($url); +//ftp://ud03:password@www.xxx.net/%C3%A4%C2%B8%C2%AD%C3%A6%C2%96%C2%87/%C3%A4%C2%B8%C2%AD%C3%A6%C2%96%C2%87.rar +$url2 = urldecode($url); +echo $url1.PHP_EOL.$url2;

+
+
+
+ + +

Details

+ +
+
+

+
at line 21
+ static boolean + isRelative(string $url) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$urlthe URL to be checked
+ + +

Return Value

+ + + + + + +
booleanwhether the URL is relative
+ + + +
+
+ +
+
+

+
at line 30
+ static bool + isUrl($str) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$str
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 41
+ static bool + isFullUrl($url) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$url
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 51
+ static string + build(string $url, mixed $data = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$url
mixed$data
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 65
+ static bool + canAccessed($url) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$url
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 139
+ static + parseUrl($url) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$url
+ + + + +
+
+ +
+
+

+
at line 170
+ static mixed|string + encode($url) + +

+
+ + + +
+

url_encode form urlencode(),但是 : / ? & = .

..... 几个符号不会被转码为 %3A %2F %3F %26 %3D ...... +$url="ftp://ud03:password@www.xxx.net/中文/中文.rar"; +$url1 = url_encode1($url); +//ftp://ud03:password@www.xxx.net/%E4%B8%AD%E6%96%87/%E4%B8%AD%E6%96%87.rar +$url2 = urldecode($url); +echo $url1.PHP_EOL.$url2.PHP_EOL;

+
+

Parameters

+ + + + + + + +
$url
+ + +

Return Value

+ + + + + + +
mixed|string[type] [description]
+ + + +
+
+ +
+
+

+
at line 196
+ static mixed|string + encode2(string $url) + +

+
+ + + +
+

[urlEncode 会先转换编码] +$url="ftp://ud03:password@www.xxx.net/中文/中文.rar"; +$url1 = url_encode($url); +//ftp://ud03:password@www.xxx.net/%C3%A4%C2%B8%C2%AD%C3%A6%C2%96%C2%87/%C3%A4%C2%B8%C2%AD%C3%A6%C2%96%C2%87.rar +$url2 = urldecode($url); +echo $url1.PHP_EOL.$url2;

+
+

Parameters

+ + + + + + + +
string$url[description]
+ + +

Return Value

+ + + + + + +
mixed|string[type] [description]
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/SysUtil.html b/classes-docs/master/Toolkit/SysUtil.html new file mode 100644 index 0000000..b6b0657 --- /dev/null +++ b/classes-docs/master/Toolkit/SysUtil.html @@ -0,0 +1,131 @@ + + + + + + Toolkit\SysUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+
+ Cli + +
+
+ Class Cli +
+
+
+
+ ProcessUtil + +
+
+ Class ProcessUtil +
+
+
+
+ Sys + +
+
+ Class Sys +
+
+
+
+ SysEnv + +
+
+ Class EnvHelper +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/SysUtil/Cli.html b/classes-docs/master/Toolkit/SysUtil/Cli.html new file mode 100644 index 0000000..d65b059 --- /dev/null +++ b/classes-docs/master/Toolkit/SysUtil/Cli.html @@ -0,0 +1,866 @@ + + + + + + Toolkit\SysUtil\Cli | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Cli +

+ + + + +
+

Class Cli

+ + +

Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NORMAL +

+

+
FG_BLACK +

+

+
FG_RED +

+

+
FG_GREEN +

+

+
FG_BROWN +

+

+
FG_BLUE +

+

+
FG_CYAN +

+

+
FG_WHITE +

+

+
FG_DEFAULT +

+

+
FG_DARK_GRAY +

+

+
FG_LIGHT_RED +

+

+
FG_LIGHT_GREEN +

+

+
FG_LIGHT_YELLOW +

+

+
FG_LIGHT_BLUE +

+

+
FG_LIGHT_MAGENTA +

+

+
FG_LIGHT_CYAN +

+

+
FG_WHITE_W +

+

+
BG_BLACK +

+

+
BG_RED +

+

+
BG_GREEN +

+

+
BG_BROWN +

+

+
BG_BLUE +

+

+
BG_CYAN +

+

+
BG_WHITE +

+

+
BG_DEFAULT +

+

+
BG_DARK_GRAY +

+

+
BG_LIGHT_RED +

+

+
BG_LIGHT_GREEN +

+

+
BG_LIGHT_YELLOW +

+

+
BG_LIGHT_BLUE +

+

+
BG_LIGHT_MAGENTA +

+

+
BG_LIGHT_CYAN +

+

+
BG_WHITE_W +

+

+
BOLD +

+

+
FUZZY +

+

+
ITALIC +

+

+
UNDERSCORE +

+

+
BLINK +

+

+
REVERSE +

+

+
CONCEALED +

+

+
COLOR_TAG +

Regex to match tags

+

+
STYLES +

some styles

+

+
+ + + +

Methods

+ +
+
+
+ static string +
+
+ color($text, string|int|array $style = null) + +

No description

+
+
+
+
+
+ static  +
+
+ renderColor($text) + +

No description

+
+
+
+
+
+ static string +
+
+ clearColor(string $text) + +

No description

+
+
+
+
+
+ static string +
+
+ read(mixed $message = null, bool $nl = false) + +

No description

+
+
+
+
+
+ static  +
+
+ write($message, bool $nl = true, bool $quit = false) + +

write message to console

+
+
+
+
+ static  +
+
+ stdout(string $message, bool $nl = true, bool|int $quit = false) + +

Logs data to stdout

+
+
+
+
+ static  +
+
+ stderr(string $message, bool $nl = true, bool|int $quit = -200) + +

Logs data to stderr

+
+
+
+
+ static boolean +
+
+ isSupportColor() + +

Returns true if STDOUT supports colorization.

+
+
+
+
+ static array +
+
+ parseArgv(array $noValues = [], bool $mergeOpts = false) + +

Parses $GLOBALS['argv'] for parameters and assigns them to an array.

+
+
+
+ + +

Details

+ +
+
+

+
at line 116
+ static string + color($text, string|int|array $style = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
$text
string|int|array$style
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 144
+ static + renderColor($text) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$text
+ + + + +
+
+ +
+
+

+
at line 176
+ static string + clearColor(string $text) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$text
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 191
+ static string + read(mixed $message = null, bool $nl = false) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
mixed$message
bool$nl
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 206
+ static + write($message, bool $nl = true, bool $quit = false) + +

+
+ + + +
+

write message to console

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
$message
bool$nl
bool$quit
+ + + + +
+
+ +
+
+

+
at line 221
+ static + stdout(string $message, bool $nl = true, bool|int $quit = false) + +

+
+ + + +
+

Logs data to stdout

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$message
bool$nl
bool|int$quit
+ + + + +
+
+ +
+
+

+
at line 238
+ static + stderr(string $message, bool $nl = true, bool|int $quit = -200) + +

+
+ + + +
+

Logs data to stderr

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$message
bool$nl
bool|int$quit
+ + + + +
+
+ +
+
+

+
at line 255
+ static boolean + isSupportColor() + +

+
+ + + +
+

Returns true if STDOUT supports colorization.

This code has been copied and adapted from +\Symfony\Component\Console\Output\OutputStream.

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 274
+ static array + parseArgv(array $noValues = [], bool $mergeOpts = false) + +

+
+ + + +
+

Parses $GLOBALS['argv'] for parameters and assigns them to an array.

Supports: +-e +-e +--long-param +--long-param= +--long-param +

+
+

Parameters

+ + + + + + + + + + + + +
array$noValuesList of parameters without values
bool$mergeOpts
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/SysUtil/ProcessUtil.html b/classes-docs/master/Toolkit/SysUtil/ProcessUtil.html new file mode 100644 index 0000000..151be42 --- /dev/null +++ b/classes-docs/master/Toolkit/SysUtil/ProcessUtil.html @@ -0,0 +1,1517 @@ + + + + + + Toolkit\SysUtil\ProcessUtil | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + ProcessUtil +

+ + + + +
+

Class ProcessUtil

+ + + +

Properties

+ + + + + + + + +
+ static array + $signalMap
+ + +

Methods

+ +
+
+
+ static bool +
+
+ hasPcntl() + +

No description

+
+
+
+
+
+ static bool +
+
+ hasPosix() + +

No description

+
+
+
+
+
+ static array +
+
+ run(string $command, string $cwd = null) + +

run a command. it is support windows

+
+
+
+
+ static int +
+
+ daemonRun(Closure $beforeQuit = null) + +

Daemon, detach and run in the background

+
+
+
+
+ static int|string +
+
+ runInBackground(string $cmd) + +

run a command in background

+
+
+
+
+ static array|false +
+
+ multi(int $number, callable $onStart = null, callable $onError = null) + +

No description

+
+
+
+
+
+ static array|false +
+
+ forks(int $number, callable $onStart = null, callable $onError = null) + +

fork/create multi child processes.

+
+
+
+
+ static array|false +
+
+ create(callable $onStart = null, callable $onError = null, int $id = 0) + +

No description

+
+
+
+
+
+ static array|false +
+
+ fork(callable $onStart = null, callable $onError = null, int $id = 0) + +

fork/create a child process.

+
+
+
+
+ static bool +
+
+ wait(callable $onExit) + +

wait child exit.

+
+
+
+
+ static bool +
+
+ stopWorkers(array $children, int $signal = SIGTERM, array $events = []) + +

Stops all running children

+
+
+
+
+ static bool +
+
+ kill(int $pid, bool $force = false, int $timeout = 3) + +

send kill signal to the process

+
+
+
+
+ static bool +
+
+ killAndWait(int $pid, $error = null, $name = 'process', bool $force = false, int $waitTime = 10) + +

Do shutdown process and wait it exit.

+
+
+
+
+ static string +
+
+ killByName(string $name, int $sigNo = 9) + +

杀死所有进程

+
+
+
+
+ static bool +
+
+ isRunning(int $pid) + +

No description

+
+
+
+
+
+ static  +
+
+ quit(int $code = 0) + +

exit

+
+
+
+
+ static bool +
+
+ sendSignal(int $pid, int $signal, int $timeout = 0) + +

send signal to the process

+
+
+
+
+ static bool +
+
+ installSignal(int $signal, callable $handler) + +

install signal

+
+
+
+
+ static bool +
+
+ dispatchSignal() + +

dispatch signal

+
+
+
+
+ static int +
+
+ getPid() + +

get current process id

+
+
+
+
+ static int +
+
+ getPidByFile(string $file, bool $checkLive = false) + +

get Pid from File

+
+
+
+
+ static array +
+
+ getCurrentUser() + +

Get unix user of current process.

+
+
+
+
+ static bool|int +
+
+ afterDo(int $seconds, callable $handler) + +

No description

+
+
+
+
+
+ static bool +
+
+ setName(string $title) + +

Set process title.

+
+
+
+
+ static bool +
+
+ setTitle(string $title) + +

Set process title.

+
+
+
+
+ static  +
+
+ changeScriptOwner(string $user, string $group = '') + +

Set unix user and group for current process script.

+
+
+
+ + +

Details

+ +
+
+

+
at line 30
+ static bool + hasPcntl() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 38
+ static bool + hasPosix() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 49
+ static array + run(string $command, string $cwd = null) + +

+
+ + + +
+

run a command. it is support windows

+
+

Parameters

+ + + + + + + + + + + + +
string$command
string$cwd
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 87
+ static int + daemonRun(Closure $beforeQuit = null) + +

+
+ + + +
+

Daemon, detach and run in the background

+
+

Parameters

+ + + + + + + +
Closure$beforeQuit
+ + +

Return Value

+ + + + + + +
intReturn new process PID
+ + + +
+
+ +
+
+

+
at line 128
+ static int|string + runInBackground(string $cmd) + +

+
+ + + +
+

run a command in background

+
+

Parameters

+ + + + + + + +
string$cmd
+ + +

Return Value

+ + + + + + +
int|string
+ + + +
+
+ +
+
+

+
at line 146
+ static array|false + multi(int $number, callable $onStart = null, callable $onError = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
int$number
callable$onStart
callable$onError
+ + +

Return Value

+ + + + + + +
array|false
+ + + +

See also

+ + + + + + +
+ ProcessUtil::forks +
+ +
+
+ +
+
+

+
at line 158
+ static array|false + forks(int $number, callable $onStart = null, callable $onError = null) + +

+
+ + + +
+

fork/create multi child processes.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
int$number
callable$onStartWill running on the child processes.
callable$onError
+ + +

Return Value

+ + + + + + +
array|false
+ + + +
+
+ +
+
+

+
at line 185
+ static array|false + create(callable $onStart = null, callable $onError = null, int $id = 0) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
callable$onStart
callable$onError
int$id
+ + +

Return Value

+ + + + + + +
array|false
+ + + +

See also

+ + + + + + +
+ ProcessUtil::fork +
+ +
+
+ +
+
+

+
at line 197
+ static array|false + fork(callable $onStart = null, callable $onError = null, int $id = 0) + +

+
+ + + +
+

fork/create a child process.

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
callable$onStartWill running on the child process start.
callable$onError
int$idThe process index number. will use forks()
+ + +

Return Value

+ + + + + + +
array|false
+ + + +
+
+ +
+
+

+
at line 235
+ static bool + wait(callable $onExit) + +

+
+ + + +
+

wait child exit.

+
+

Parameters

+ + + + + + + +
callable$onExit
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 279
+ static bool + stopWorkers(array $children, int $signal = SIGTERM, array $events = []) + +

+
+ + + +
+

Stops all running children

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
array$children[ + 'pid' => [ + 'id' => worker id + ], + ... ... +]
int$signal
array$events[ + 'beforeStops' => function ($sigText) { + echo "Stopping processes({$sigText}) ...\n"; + }, + 'beforeStop' => function ($pid, $info) { + echo "Stopping process(PID:$pid)\n"; + } +]
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 321
+ static bool + kill(int $pid, bool $force = false, int $timeout = 3) + +

+
+ + + +
+

send kill signal to the process

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
int$pid
bool$force
int$timeout
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 335
+ static bool + killAndWait(int $pid, $error = null, $name = 'process', bool $force = false, int $waitTime = 10) + +

+
+ + + +
+

Do shutdown process and wait it exit.

+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
int$pid
$error
$name
bool$force
int$waitTime
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 384
+ static string + killByName(string $name, int $sigNo = 9) + +

+
+ + + +
+

杀死所有进程

+
+

Parameters

+ + + + + + + + + + + + +
string$name
int$sigNo
+ + +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 396
+ static bool + isRunning(int $pid) + +

+
+ + + +
+

Parameters

+ + + + + + + +
int$pid
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 405
+ static + quit(int $code = 0) + +

+
+ + + +
+

exit

+
+

Parameters

+ + + + + + + +
int$code
+ + + + +
+
+ +
+
+

+
at line 421
+ static bool + sendSignal(int $pid, int $signal, int $timeout = 0) + +

+
+ + + +
+

send signal to the process

+
+

Parameters

+ + + + + + + + + + + + + + + + + +
int$pid
int$signal
int$timeout
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 467
+ static bool + installSignal(int $signal, callable $handler) + +

+
+ + + +
+

install signal

+
+

Parameters

+ + + + + + + + + + + + +
int$signale.g: SIGTERM SIGINT(Ctrl+C) SIGUSR1 SIGUSR2 SIGHUP
callable$handler
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 480
+ static bool + dispatchSignal() + +

+
+ + + +
+

dispatch signal

+
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 498
+ static int + getPid() + +

+
+ + + +
+

get current process id

+
+ +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 509
+ static int + getPidByFile(string $file, bool $checkLive = false) + +

+
+ + + +
+

get Pid from File

+
+

Parameters

+ + + + + + + + + + + + +
string$file
bool$checkLive
+ + +

Return Value

+ + + + + + +
int
+ + + +
+
+ +
+
+

+
at line 529
+ static array + getCurrentUser() + +

+
+ + + +
+

Get unix user of current process.

+
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 539
+ static bool|int + afterDo(int $seconds, callable $handler) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
int$seconds
callable$handler
+ + +

Return Value

+ + + + + + +
bool|int
+ + + +
+
+ +
+
+

+
at line 564
+ static bool + setName(string $title) + +

+
+ + + +
+

Set process title.

+
+

Parameters

+ + + + + + + +
string$title
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 574
+ static bool + setTitle(string $title) + +

+
+ + + +
+

Set process title.

+
+

Parameters

+ + + + + + + +
string$title
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 593
+ static + changeScriptOwner(string $user, string $group = '') + +

+
+ + + +
+

Set unix user and group for current process script.

+
+

Parameters

+ + + + + + + + + + + + +
string$user
string$group
+ + + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/SysUtil/Sys.html b/classes-docs/master/Toolkit/SysUtil/Sys.html new file mode 100644 index 0000000..7b359b5 --- /dev/null +++ b/classes-docs/master/Toolkit/SysUtil/Sys.html @@ -0,0 +1,870 @@ + + + + + + Toolkit\SysUtil\Sys | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Sys extends SysEnv +

+ + + + +
+

Class Sys

+ + + + +

Methods

+ +
+
+
+ static bool +
+
+ isUnix() + +

No description

+
+
from SysEnv
+
+
+
+ static bool +
+
+ isLinux() + +

No description

+
+
from SysEnv
+
+
+
+ static bool +
+
+ isWin() + +

No description

+
+
from SysEnv
+
+
+
+ static bool +
+
+ isWindows() + +

No description

+
+
from SysEnv
+
+
+
+ static bool +
+
+ isMac() + +

No description

+
+
from SysEnv
+
+
+
+ static bool +
+
+ isRoot() + +

No description

+
+
from SysEnv
+
+
+
+ static string +
+
+ getHostname() + +

No description

+
+
from SysEnv
+
+
+
+ static string +
+
+ getNullDevice() + +

No description

+
+
from SysEnv
+
+
+
+ static boolean +
+
+ isSupportColor() + +

Returns true if STDOUT supports colorization.

+
from SysEnv
+
+
+
+ static boolean +
+
+ isInteractive(int|resource $fileDescriptor) + +

Returns if the file descriptor is an interactive terminal or not.

+
from SysEnv
+
+
+
+ static  +
+
+ execInBackground(string $cmd) + +

run a command in background

+
+
+
+
+ static mixed +
+
+ exec(string $command, null|string $logfile = null, null|string $user = null) + +

No description

+
+
+
+
+
+ static array +
+
+ runCommand($command, bool $returnStatus = true) + +

Method to execute a command in the sys +Uses : +1. system +2. passthru +3. exec +4. shell_exec

+
+
+
+
+ static string +
+
+ getTempDir() + +

No description

+
+
+
+
+
+ static int|string +
+
+ getCpuUsage(string $program) + +

No description

+
+
+
+
+
+ static int|string +
+
+ getMemUsage($program) + +

No description

+
+
+
+
+
+ static  +
+
+ gitCheck() + +

支持查看指定目录,默认当前目录 +CLI: + php test.php -d=path + php test.php --dir=path +WEB: + /test.php?dir=path

+
+
+
+ + +

Details

+ +
+
+

+
in SysEnv at line 24
+ static bool + isUnix() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SysEnv at line 34
+ static bool + isLinux() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SysEnv at line 42
+ static bool + isWin() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SysEnv at line 50
+ static bool + isWindows() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SysEnv at line 58
+ static bool + isMac() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SysEnv at line 66
+ static bool + isRoot() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
in SysEnv at line 78
+ static string + getHostname() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in SysEnv at line 86
+ static string + getNullDevice() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
in SysEnv at line 101
+ static boolean + isSupportColor() + +

+
+ + + +
+

Returns true if STDOUT supports colorization.

This code has been copied and adapted from +\Symfony\Component\Console\Output\OutputStream.

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
in SysEnv at line 124
+ static boolean + isInteractive(int|resource $fileDescriptor) + +

+
+ + + +
+

Returns if the file descriptor is an interactive terminal or not.

+
+

Parameters

+ + + + + + + +
int|resource$fileDescriptor
+ + +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 21
+ static + execInBackground(string $cmd) + +

+
+ + + +
+

run a command in background

+
+

Parameters

+ + + + + + + +
string$cmd
+ + + + +
+
+ +
+
+

+
at line 37
+ static mixed + exec(string $command, null|string $logfile = null, null|string $user = null) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$command
null|string$logfile
null|string$user
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 70
+ static array + runCommand($command, bool $returnStatus = true) + +

+
+ + + +
+

Method to execute a command in the sys +Uses : +1. system +2. passthru +3. exec +4. shell_exec

+
+

Parameters

+ + + + + + + + + + + + +
$command
bool$returnStatus
+ + +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 114
+ static string + getTempDir() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 137
+ static int|string + getCpuUsage(string $program) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$program
+ + +

Return Value

+ + + + + + +
int|string
+ + + +
+
+ +
+
+

+
at line 152
+ static int|string + getMemUsage($program) + +

+
+ + + +
+

Parameters

+ + + + + + + +
$program
+ + +

Return Value

+ + + + + + +
int|string
+ + + +
+
+ +
+
+

+
at line 172
+ static + gitCheck() + +

+
+ + + +
+

支持查看指定目录,默认当前目录 +CLI: + php test.php -d=path + php test.php --dir=path +WEB: + /test.php?dir=path

+
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/SysUtil/SysEnv.html b/classes-docs/master/Toolkit/SysUtil/SysEnv.html new file mode 100644 index 0000000..176f7af --- /dev/null +++ b/classes-docs/master/Toolkit/SysUtil/SysEnv.html @@ -0,0 +1,518 @@ + + + + + + Toolkit\SysUtil\SysEnv | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + SysEnv +

+ + + + +
+

Class EnvHelper

+ + + + +

Methods

+ +
+
+
+ static bool +
+
+ isUnix() + +

No description

+
+
+
+
+
+ static bool +
+
+ isLinux() + +

No description

+
+
+
+
+
+ static bool +
+
+ isWin() + +

No description

+
+
+
+
+
+ static bool +
+
+ isWindows() + +

No description

+
+
+
+
+
+ static bool +
+
+ isMac() + +

No description

+
+
+
+
+
+ static bool +
+
+ isRoot() + +

No description

+
+
+
+
+
+ static string +
+
+ getHostname() + +

No description

+
+
+
+
+
+ static string +
+
+ getNullDevice() + +

No description

+
+
+
+
+
+ static boolean +
+
+ isSupportColor() + +

Returns true if STDOUT supports colorization.

+
+
+
+
+ static boolean +
+
+ isInteractive(int|resource $fileDescriptor) + +

Returns if the file descriptor is an interactive terminal or not.

+
+
+
+ + +

Details

+ +
+
+

+
at line 24
+ static bool + isUnix() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 34
+ static bool + isLinux() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 42
+ static bool + isWin() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 50
+ static bool + isWindows() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 58
+ static bool + isMac() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 66
+ static bool + isRoot() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 78
+ static string + getHostname() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 86
+ static string + getNullDevice() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
string
+ + + +
+
+ +
+
+

+
at line 101
+ static boolean + isSupportColor() + +

+
+ + + +
+

Returns true if STDOUT supports colorization.

This code has been copied and adapted from +\Symfony\Component\Console\Output\OutputStream.

+
+ +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+

+
at line 124
+ static boolean + isInteractive(int|resource $fileDescriptor) + +

+
+ + + +
+

Returns if the file descriptor is an interactive terminal or not.

+
+

Parameters

+ + + + + + + +
int|resource$fileDescriptor
+ + +

Return Value

+ + + + + + +
boolean
+ + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util.html b/classes-docs/master/Toolkit/Util.html new file mode 100644 index 0000000..0de11e5 --- /dev/null +++ b/classes-docs/master/Toolkit/Util.html @@ -0,0 +1,152 @@ + + + + + + Toolkit\Util | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

Namespaces

+ + +

Classes

+ +
+
+
+ AopProxy + +
+
+ Class AopProxy +
+
+
+
+ DataProxy + +
+
+ Class DataProxy +
+
+
+
+ DataResult + +
+
+ Class DeferredResult +
+
+
+ +
+ Class DeferredCallable +
+
+
+
+ PhpDotEnv + +
+
+ Class PhpDotEnv - local env read +
+
+
+
+ Pipeline + +
+
+ Class Pipeline +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/AopProxy.html b/classes-docs/master/Toolkit/Util/AopProxy.html new file mode 100644 index 0000000..8897184 --- /dev/null +++ b/classes-docs/master/Toolkit/Util/AopProxy.html @@ -0,0 +1,803 @@ + + + + + + Toolkit\Util\AopProxy | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + AopProxy +

+ + + + +
+

Class AopProxy

+ +

Traits

+ + +
+
+ +
+ Class AopProxyAwareTrait +- AOP 切面编程 +
+
+
+ + +

Properties

+ + + + + + + + +
+ protected array + $proxyMap
+ + +

Methods

+ +
+
+
+ +
+
+ proxy($class, $method = null, array $args = []) + +

No description

+
+ +
+
+
+ mixed +
+
+ call(string $method, array $args = []) + +

No description

+
+ +
+
+
+ mixed +
+
+ __call(string $method, array $args = []) + +

No description

+
+ +
+
+
+ $this|mixed +
+
+ __invoke(array ...$args) + +

No description

+
+ +
+
+
+ null|array +
+
+ findProxyCallback($target, string $method, string $prefix = 'before') + +

No description

+
+ +
+
+
+ $this +
+
+ register($key, $handler, string $position = 'before') + +

No description

+
+ +
+
+
+ $this +
+
+ addProxy(string $key, callable $handler, string $position = 'before') + +

No description

+
+ +
+
+
+ $this +
+
+ addProxies(array $map) + +

No description

+
+ +
+
+
+ static array +
+
+ getProxyPoints() + +

No description

+
+ +
+
+
+ mixed +
+
+ getProxyTarget() + +

No description

+
+ +
+
+
+ array +
+
+ getProxyMap() + +

No description

+
+ +
+
+
+ +
+
+ setProxyMap(array $proxyMap) + +

No description

+
+ +
+
+
+ +
+
+ __construct(array $proxyMap = []) + +

AopProxy constructor.

+
+
+
+ + +

Details

+ +
+
+

+
in AopProxyAwareTrait at line 36
+ + proxy($class, $method = null, array $args = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$class
$method
array$args
+ + + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 53
+ mixed + call(string $method, array $args = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
LogicException
+ + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 87
+ mixed + __call(string $method, array $args = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 97
+ $this|mixed + __invoke(array ...$args) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
$this|mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 123
+ protected null|array + findProxyCallback($target, string $method, string $prefix = 'before') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$target
string$method
string$prefix
+ + +

Return Value

+ + + + + + +
null|array
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 140
+ $this + register($key, $handler, string $position = 'before') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$key
$handler
string$position
+ + +

Return Value

+ + + + + + +
$this
+ + + +

See also

+ + + + + + +
+ addProxy() +
+ +
+
+ +
+
+

+
in AopProxyAwareTrait at line 151
+ $this + addProxy(string $key, callable $handler, string $position = 'before') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$keyeg 'XyzClass::method'
callable$handler
string$position'before' 'after'
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 167
+ $this + addProxies(array $map) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$map
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 190
+ static array + getProxyPoints() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 198
+ mixed + getProxyTarget() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 206
+ array + getProxyMap() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
in AopProxyAwareTrait at line 214
+ + setProxyMap(array $proxyMap) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$proxyMap
+ + + + +
+
+ +
+
+

+
at line 50
+ + __construct(array $proxyMap = []) + +

+
+ + + +
+

AopProxy constructor.

+
+

Parameters

+ + + + + + + +
array$proxyMap
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/DataProxy.html b/classes-docs/master/Toolkit/Util/DataProxy.html new file mode 100644 index 0000000..6953152 --- /dev/null +++ b/classes-docs/master/Toolkit/Util/DataProxy.html @@ -0,0 +1,588 @@ + + + + + + Toolkit\Util\DataProxy | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + DataProxy +

+ + + + +
+

Class DataProxy

+ + + +

Properties

+ + + + + + + + +
+ protected array + $proxiesproxy list
+ + +

Methods

+ +
+
+
+ +
+
+ __construct(array $proxies = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ __call(string $method, array $args) + +

No description

+
+
+
+
+
+ mixed +
+
+ call(string $name, array $args) + +

No description

+
+
+
+
+
+ +
+
+ add(string $name, callable $callback) + +

No description

+
+
+
+
+
+ +
+
+ addProxy(string $name, callable $callback) + +

No description

+
+
+
+
+
+ +
+
+ setProxy(string $name, callable $callback) + +

No description

+
+
+
+
+
+ bool +
+
+ hasName(string $name) + +

No description

+
+
+
+
+
+ +
+
+ addProxies(array $proxies) + +

No description

+
+
+
+
+
+ array +
+
+ getProxies() + +

No description

+
+
+
+
+
+ +
+
+ setProxies(array $proxies) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 27
+ + __construct(array $proxies = []) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$proxies
+ + + + +
+
+ +
+
+

+
at line 37
+ mixed + __call(string $method, array $args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 48
+ mixed + call(string $name, array $args) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
RuntimeException
+ + +
+
+ +
+
+

+
at line 62
+ + add(string $name, callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
callable$callback
+ + + + +
+
+ +
+
+

+
at line 73
+ + addProxy(string $name, callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
callable$callback
+ + + + +
+
+ +
+
+

+
at line 84
+ + setProxy(string $name, callable $callback) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$name
callable$callback
+ + + + +
+
+ +
+
+

+
at line 95
+ bool + hasName(string $name) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$name
+ + +

Return Value

+ + + + + + +
bool
+ + + +
+
+ +
+
+

+
at line 103
+ + addProxies(array $proxies) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$proxies
+ + + + +
+
+ +
+
+

+
at line 113
+ array + getProxies() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 121
+ + setProxies(array $proxies) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$proxies
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/DataResult.html b/classes-docs/master/Toolkit/Util/DataResult.html new file mode 100644 index 0000000..91f65c1 --- /dev/null +++ b/classes-docs/master/Toolkit/Util/DataResult.html @@ -0,0 +1,278 @@ + + + + + + Toolkit\Util\DataResult | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + DataResult +

+ + + + +
+

Class DeferredResult

+ + + +

Properties

+ + + + + + + + +
+ protected mixed + $value
+ + +

Methods

+ +
+
+
+ +
+
+ __construct($value) + +

DeferredResult constructor.

+
+
+
+
+ +
+
+ get() + +

No description

+
+
+
+
+
+ mixed +
+
+ getValue() + +

No description

+
+
+
+
+
+ +
+
+ setValue(mixed $value) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ + __construct($value) + +

+
+ + + +
+

DeferredResult constructor.

+
+

Parameters

+ + + + + + + +
$value
+ + + + +
+
+ +
+
+

+
at line 31
+ + get() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 39
+ mixed + getValue() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 47
+ + setValue(mixed $value) + +

+
+ + + +
+

Parameters

+ + + + + + + +
mixed$value
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/DeferredCallable.html b/classes-docs/master/Toolkit/Util/DeferredCallable.html new file mode 100644 index 0000000..ca877f1 --- /dev/null +++ b/classes-docs/master/Toolkit/Util/DeferredCallable.html @@ -0,0 +1,214 @@ + + + + + + Toolkit\Util\DeferredCallable | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + DeferredCallable +

+ + + + +
+

Class DeferredCallable

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct(callable|string $callable) + +

DeferredMiddleware constructor.

+
+
+
+
+ mixed +
+
+ __invoke(array ...$args) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 26
+ + __construct(callable|string $callable) + +

+
+ + + +
+

DeferredMiddleware constructor.

+
+

Parameters

+ + + + + + + +
callable|string$callable
+ + + + +
+
+ +
+
+

+
at line 36
+ mixed + __invoke(array ...$args) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/PhpDotEnv.html b/classes-docs/master/Toolkit/Util/PhpDotEnv.html new file mode 100644 index 0000000..fbdad9e --- /dev/null +++ b/classes-docs/master/Toolkit/Util/PhpDotEnv.html @@ -0,0 +1,267 @@ + + + + + + Toolkit\Util\PhpDotEnv | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + PhpDotEnv +

+ + + + +
+

Class PhpDotEnv - local env read

+ + +

Constants

+ + + + + + +
FULL_KEY +

+

+
+ + + +

Methods

+ +
+
+
+ static PhpDotEnv +
+
+ load(string $fileDir, string $fileName = '.env') + +

No description

+
+
+
+
+
+ +
+
+ __construct(string $fileDir, string $fileName = '.env') + +

constructor.

+
+
+
+
+ +
+
+ add(string $file) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 39
+ static PhpDotEnv + load(string $fileDir, string $fileName = '.env') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$fileDir
string$fileName
+ + +

Return Value

+ + + + + + +
PhpDotEnv
+ + + +
+
+ +
+
+

+
at line 49
+ + __construct(string $fileDir, string $fileName = '.env') + +

+
+ + + +
+

constructor.

+
+

Parameters

+ + + + + + + + + + + + +
string$fileDir
string$fileName
+ + + + +
+
+ +
+
+

+
at line 59
+ + add(string $file) + +

+
+ + + +
+

Parameters

+ + + + + + + +
string$file
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/Pipeline.html b/classes-docs/master/Toolkit/Util/Pipeline.html new file mode 100644 index 0000000..f7214cd --- /dev/null +++ b/classes-docs/master/Toolkit/Util/Pipeline.html @@ -0,0 +1,269 @@ + + + + + + Toolkit\Util\Pipeline | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

class + Pipeline implements + PipelineInterface +

+ + + + +
+

Class Pipeline

+ + + + +

Methods

+ +
+
+
+ +
+
+ __construct() + +

No description

+
+
+
+
+
+ +
+
+ add(callable $stage) + +

{@inheritdoc}

+
+
+
+
+ +
+
+ run($payload) + +

{@inheritdoc}

+
+
+
+
+ +
+
+ __invoke($payload) + +

{@inheritdoc}

+
+
+
+ + +

Details

+ +
+
+

+
at line 23
+ + __construct() + +

+
+ + + +
+ + + +
+
+ +
+
+

+
at line 31
+ + add(callable $stage) + +

+
+ + + +
+

{@inheritdoc}

+
+

Parameters

+ + + + + + + +
callable$stage
+ + + + +
+
+ +
+
+

+
at line 47
+ + run($payload) + +

+
+ + + +
+

{@inheritdoc}

+
+

Parameters

+ + + + + + + +
$payload
+ + + + +
+
+ +
+
+

+
at line 57
+ + __invoke($payload) + +

+
+ + + +
+

{@inheritdoc}

+
+

Parameters

+ + + + + + + +
$payload
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/Traits.html b/classes-docs/master/Toolkit/Util/Traits.html new file mode 100644 index 0000000..425b5cc --- /dev/null +++ b/classes-docs/master/Toolkit/Util/Traits.html @@ -0,0 +1,105 @@ + + + + + + Toolkit\Util\Traits | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + + +

Classes

+ +
+
+ +
+ Class AopProxyAwareTrait +- AOP 切面编程 +
+
+
+ + + +
+ + +
+
+ + + diff --git a/classes-docs/master/Toolkit/Util/Traits/AopProxyAwareTrait.html b/classes-docs/master/Toolkit/Util/Traits/AopProxyAwareTrait.html new file mode 100644 index 0000000..8ecba7e --- /dev/null +++ b/classes-docs/master/Toolkit/Util/Traits/AopProxyAwareTrait.html @@ -0,0 +1,753 @@ + + + + + + Toolkit\Util\Traits\AopProxyAwareTrait | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ +
+
+ + + +

trait + AopProxyAwareTrait +

+ + + + +
+

Class AopProxyAwareTrait +- AOP 切面编程

+ + + +

Properties

+ + + + + + + + +
+ array + $proxyMap要经过AOP代理的方法配置 +e.g: +[ + 'XyzClass::methodBefore' => [handler0, handler1], + 'XyzClass::methodAfter' => [handler2, handler3], +]
+ + +

Methods

+ +
+
+
+ +
+
+ proxy($class, $method = null, array $args = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ call(string $method, array $args = []) + +

No description

+
+
+
+
+
+ mixed +
+
+ __call(string $method, array $args = []) + +

No description

+
+
+
+
+
+ $this|mixed +
+
+ __invoke(array ...$args) + +

No description

+
+
+
+
+
+ null|array +
+
+ findProxyCallback($target, string $method, string $prefix = 'before') + +

No description

+
+
+
+
+
+ $this +
+
+ register($key, $handler, string $position = 'before') + +

No description

+
+
+
+
+
+ $this +
+
+ addProxy(string $key, callable $handler, string $position = 'before') + +

No description

+
+
+
+
+
+ $this +
+
+ addProxies(array $map) + +

No description

+
+
+
+
+
+ static array +
+
+ getProxyPoints() + +

No description

+
+
+
+
+
+ mixed +
+
+ getProxyTarget() + +

No description

+
+
+
+
+
+ array +
+
+ getProxyMap() + +

No description

+
+
+
+
+
+ +
+
+ setProxyMap(array $proxyMap) + +

No description

+
+
+
+
+ + +

Details

+ +
+
+

+
at line 36
+ + proxy($class, $method = null, array $args = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$class
$method
array$args
+ + + + +
+
+ +
+
+

+
at line 53
+ mixed + call(string $method, array $args = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + +

Exceptions

+ + + + + + +
LogicException
+ + +
+
+ +
+
+

+
at line 87
+ mixed + __call(string $method, array $args = []) + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + +
string$method
array$args
+ + +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 97
+ $this|mixed + __invoke(array ...$args) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array...$args
+ + +

Return Value

+ + + + + + +
$this|mixed
+ + +

Exceptions

+ + + + + + +
InvalidArgumentException
+ + +
+
+ +
+
+

+
at line 123
+ protected null|array + findProxyCallback($target, string $method, string $prefix = 'before') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$target
string$method
string$prefix
+ + +

Return Value

+ + + + + + +
null|array
+ + + +
+
+ +
+
+

+
at line 140
+ $this + register($key, $handler, string $position = 'before') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
$key
$handler
string$position
+ + +

Return Value

+ + + + + + +
$this
+ + + +

See also

+ + + + + + +
+ addProxy() +
+ +
+
+ +
+
+

+
at line 151
+ $this + addProxy(string $key, callable $handler, string $position = 'before') + +

+
+ + + +
+

Parameters

+ + + + + + + + + + + + + + + + + +
string$keyeg 'XyzClass::method'
callable$handler
string$position'before' 'after'
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 167
+ $this + addProxies(array $map) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$map
+ + +

Return Value

+ + + + + + +
$this
+ + + +
+
+ +
+
+

+
at line 190
+ static array + getProxyPoints() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 198
+ mixed + getProxyTarget() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
mixed
+ + + +
+
+ +
+
+

+
at line 206
+ array + getProxyMap() + +

+
+ + + +
+ +

Return Value

+ + + + + + +
array
+ + + +
+
+ +
+
+

+
at line 214
+ + setProxyMap(array $proxyMap) + +

+
+ + + +
+

Parameters

+ + + + + + + +
array$proxyMap
+ + + + +
+
+ +
+
+ + +
+ + +
+
+ + + diff --git a/classes-docs/master/classes.html b/classes-docs/master/classes.html new file mode 100644 index 0000000..6bd0e5f --- /dev/null +++ b/classes-docs/master/classes.html @@ -0,0 +1,759 @@ + + + + + + All Classes | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ + + +
+
+
+ Arr + +
+
+ Class Arr + alias of the StringHelper +
+
+
+
+ ArrayHelper + +
+
+ Class ArrayHelper +
+
+
+
+ AryBuffer + +
+
+ Class ArrBuffer +
+
+
+
+ ActiveData + +
+
+ Class ActiveData +
+
+
+
+ Collection + +
+
+ Class DataCollector - 数据收集器 (数据存储器 - DataStorage) complex deep +
+
+
+ +
+ Collection Interface +
+
+
+ +
+ Class Configuration - 配置数据管理 +
+
+
+
+ FixedArray + +
+
+ Class FixedArray + fixed size array implements, and support string key. +
+
+
+
+ JsonMessage + +
+
+ Class JsonMessage +
+
+
+
+ Language + +
+
+ Class Language +
+
+
+ +
+ Class LiteCollection +
+
+
+ +
+ Collection +This class provides a common interface used by many other +classes in a Inhere\Library application that manage "collections" +of data that must be inspected and/or manipulated +
+
+
+ +
+ This class resolves a string of the format 'class:method' into a closure +that can be dispatched. +
+
+
+ +
+ ResolveCallable +
+
+
+
+ Container + +
+
+ Class Container +
+
+
+
+ DIManager + +
+
+ Class DIManager - Container Manager +
+
+
+ +
+ Class DependencyResolutionException +
+
+
+ +
+ Class NotFoundException +
+
+
+ +
+ Class NameAliasTrait +
+
+
+
+ Service + +
+
+ Class Service +
+
+
+ +
+ Interface InterfaceServiceProvider +
+
+
+ +
+ Class DataParserAwareTrait +
+
+
+
+ JsonParser + +
+
+ Class JsonParser +
+
+
+ +
+ Class MsgPackParser +
+
+
+ +
+ Interface ParserInterface +
+
+
+
+ PhpParser + +
+
+ Class PhpParser +
+
+
+
+ SwooleParser + +
+
+ Class SwooleParser +
+
+
+ +
+ Internal tool for toolkit development +
+
+
+
+ Directory + +
+
+ Class Directory +
+
+
+ +
+ Class FileNotFoundException +
+
+
+ +
+ Class FileReadException +
+
+
+ +
+ Class FileSystemException +
+
+
+
+ IOException + +
+
+ Class IOException +
+
+
+
+ File + +
+
+ Class File +
+
+
+
+ FileFinder + +
+
+ Class FileFinder +
+
+
+
+ FileSystem + +
+
+ Class FileSystem +
+
+
+ +
+ Class FilesWatcher - Check Dir's files modified by md5_file() +
+
+
+
+ ReadTrait + +
+
+ Class Read +
+
+
+ +
+ Class GetPropertyException +
+
+
+ +
+ Class PropertyException +
+
+
+ +
+ Class SetPropertyException +
+
+
+
+ Obj + +
+
+ Class Obj + alias of the ObjectHelper +
+
+
+
+ ObjectHelper + +
+
+ Class ObjectHelper +
+
+
+ +
+ Class ObjectStorage + - 允许使用非对象作为key,会自动使用 \stdClass 转成对象 +
+
+
+ +
+ Class TraitArrayAccess +
+
+
+ +
+ Class TraitArrayAccess +
+
+
+ +
+ Class ObjectPoolTrait +
+
+
+ +
+ trait PropertyAccessByGetterSetterTrait +
+
+
+ +
+ Trait SingletonTrait +
+
+
+ +
+ Class StdObjectTrait +
+
+
+
+ AutoLoader + +
+
+ Class AutoLoader +
+
+
+
+ Php + +
+
+ Class Php - alias of the class PhpHelper +
+
+
+
+ PhpEnv + +
+
+ Class PhpEnv +
+
+
+
+ PhpError + +
+
+ Class PhpError +
+
+
+
+ PhpException + +
+
+ Class PhpException +
+
+
+
+ PhpHelper + +
+
+ Class PhpHelper +
+
+
+
+ HtmlHelper + +
+
+ Class HtmlHelper +
+
+
+
+ Json + +
+
+ Class Json +
+
+
+
+ JsonHelper + +
+
+ Class JsonHelper +
+
+
+
+ Str + +
+
+ Class Str + alias of the StringHelper +
+
+
+
+ StrBuffer + +
+
+ Class StrBuffer +
+
+
+
+ StringHelper + +
+
+ Class StringHelper +
+
+
+
+ UrlHelper + +
+
+ Class UrlHelper +
+
+
+
+ Cli + +
+
+ Class Cli +
+
+
+
+ ProcessUtil + +
+
+ Class ProcessUtil +
+
+
+
+ Sys + +
+
+ Class Sys +
+
+
+
+ SysEnv + +
+
+ Class EnvHelper +
+
+
+
+ AopProxy + +
+
+ Class AopProxy +
+
+
+
+ DataProxy + +
+
+ Class DataProxy +
+
+
+
+ DataResult + +
+
+ Class DeferredResult +
+
+
+ +
+ Class DeferredCallable +
+
+
+
+ PhpDotEnv + +
+
+ Class PhpDotEnv - local env read +
+
+
+
+ Pipeline + +
+
+ Class Pipeline +
+
+
+ +
+ Class AopProxyAwareTrait +- AOP 切面编程 +
+
+
+
+ + +
+
+ + + diff --git a/classes-docs/master/css/bootstrap-theme.min.css b/classes-docs/master/css/bootstrap-theme.min.css new file mode 100644 index 0000000..7d213d9 --- /dev/null +++ b/classes-docs/master/css/bootstrap-theme.min.css @@ -0,0 +1,10 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=cb5a84c449e8302c563e) + * Config saved to config.json and https://gist.github.com/cb5a84c449e8302c563e + */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-o-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#e0e0e0));background-image:linear-gradient(to bottom, #fff 0, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top, #428bca 0, #2d6ca2 100%);background-image:-o-linear-gradient(top, #428bca 0, #2d6ca2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#2d6ca2));background-image:linear-gradient(to bottom, #428bca 0, #2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary:disabled,.btn-primary[disabled]{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#419641));background-image:linear-gradient(to bottom, #5cb85c 0, #419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#2aabd2));background-image:linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#eb9316));background-image:linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c12e2a));background-image:linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-o-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#357ebd));background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-color:#357ebd}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#f8f8f8));background-image:linear-gradient(to bottom, #fff 0, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-o-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dbdbdb), to(#e2e2e2));background-image:linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-o-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #3c3c3c), to(#222));background-image:linear-gradient(to bottom, #3c3c3c 0, #222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-o-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #080808), to(#0f0f0f));background-image:linear-gradient(to bottom, #080808 0, #0f0f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-o-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#357ebd));background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#c8e5bc));background-image:linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#b9def0));background-image:linear-gradient(to bottom, #d9edf7 0, #b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#f8efc0));background-image:linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-o-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#e7c3c3));background-image:linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ebebeb), to(#f5f5f5));background-image:linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top, #428bca 0, #3071a9 100%);background-image:-o-linear-gradient(top, #428bca 0, #3071a9 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#3071a9));background-image:linear-gradient(to bottom, #428bca 0, #3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#449d44));background-image:linear-gradient(to bottom, #5cb85c 0, #449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#31b0d5));background-image:linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#ec971f));background-image:linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c9302c));background-image:linear-gradient(to bottom, #d9534f 0, #c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top, #428bca 0, #3278b3 100%);background-image:-o-linear-gradient(top, #428bca 0, #3278b3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#3278b3));background-image:linear-gradient(to bottom, #428bca 0, #3278b3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);border-color:#3278b3}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-o-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #428bca), to(#357ebd));background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#d0e9c6));background-image:linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#c4e3f3));background-image:linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#faf2cc));background-image:linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-o-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#ebcccc));background-image:linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e8e8e8), to(#f5f5f5));background-image:linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} \ No newline at end of file diff --git a/classes-docs/master/css/bootstrap.min.css b/classes-docs/master/css/bootstrap.min.css new file mode 100644 index 0000000..a517ad7 --- /dev/null +++ b/classes-docs/master/css/bootstrap.min.css @@ -0,0 +1,10 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=cb5a84c449e8302c563e) + * Config saved to config.json and https://gist.github.com/cb5a84c449e8302c563e + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;visibility:visible !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:normal;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:1.42857143;text-align:left;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, color-stop(0, rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}} \ No newline at end of file diff --git a/classes-docs/master/css/sami.css b/classes-docs/master/css/sami.css new file mode 100644 index 0000000..4c089c3 --- /dev/null +++ b/classes-docs/master/css/sami.css @@ -0,0 +1,459 @@ +html, body, #content { + height: 100%; +} + +/* Site menu */ + +#site-nav.navbar-default { + margin: 0; + border-radius: 0; + border-bottom: 1px solid #ccc; + background-color: #EDF3FE; + background-image: none; +} + +#site-nav.navbar-default .navbar-brand, +#site-nav.navbar-default .navbar-nav > li > a { + color: #000; +} + +#site-nav.navbar-default .navbar-nav > li > a:hover { + text-decoration: underline; +} + +#navbar-elements { + float: right; +} + +@media (max-width: 768px) { + #navbar-elements { + float: none !important; + } +} + +/* Namespace breadcrumbs */ + +.namespace-breadcrumbs .breadcrumb { + margin: 0 0 12px; + border-radius: 0 0 4px 4px; + padding-left: 35px; +} + +.namespace-breadcrumbs .breadcrumb > li + li:before { + content: ""; +} +.namespace-breadcrumbs .breadcrumb > .backslash { + color: #ccc; +} + +/* Site columns */ + +#right-column { + margin-left: 20%; +} + +#page-content { + padding: 0 30px; +} + +#left-column { + width: 20%; + position: fixed; + height: 100%; + border-right: 1px solid #ccc; + line-height: 18px; + font-size: 13px; + display: flex; + flex-flow: column; +} + +@media (max-width: 991px) { + #left-column { + display: none; + } + #right-column { + width: 100%; + margin-left: 0; + } +} + +/* API Tree */ + +#api-tree { + background: linear-gradient( + to bottom, + #FFF, + #FFF 50%, + #EDF3FE 50%, + #EDF3FE + ); + background-size: 100% 56px; + overflow: auto; + height: 100%; + background-attachment: local; +} + +#api-tree ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +#api-tree ul li { + padding: 0; + margin: 0; +} + +/* Prevents the menu from jittering on lad */ +#api-tree .glyphicon-play { + width: 26px; +} + +#api-tree ul li .hd { + padding: 5px; +} + +#api-tree li .hd:nth-child(even) { + background-color: #EDF3FE; +} + +#api-tree ul li.opened > .hd span { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +#api-tree .bd { + display: none; +} + +#api-tree li.opened > .bd { + display: block; +} + +#api-tree li .hd:hover { + background-color: #eee; +} + +#api-tree li.active > .hd { + background-color: #3875D7; +} + +#api-tree li.active > .hd a { + color: #eee; + font-weight: bold; +} + +#api-tree a { + color: #222; +} + +#api-tree div.leaf a { + margin-left: 20px; +} + +#api-tree .hd span { + padding: 2px 8px; + font-size: 10px; + line-height: 85%; +} + +/* Control panel, search form, version drop-down */ + +#control-panel { + background: #e8e8e8; + border-bottom: 1px solid #666; + padding: 4px; +} + +#control-panel form { + margin: 4px 4px 5px 4px; +} + +#search-form { + position: relative; +} + +#search-form input { + width: 100%; + padding-left: 28px; +} + +#search-form span.glyphicon-search { + position: absolute; + left: 9px; + top: 9px; + font-size: 14px; + z-index: 2; +} + +/* Typeahead */ + +.twitter-typeahead { + width: 100%; + z-index: 1; +} + +.tt-dropdown-menu { + overflow: auto; + max-height: 260px; + margin-top: 9px; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 8px; + box-shadow: 0 5px 10px rgba(0,0,0,.2); + padding: 8px; +} + +.tt-dropdown-menu p { + margin: 0; + padding: 0; +} + +.tt-suggestion { + padding: 8px; + border-bottom: 1px solid #ccc; + font-size: 1.1em; +} + +.tt-cursor { + background-color: #3875D7; + color: #fff; +} + +/** General typography **/ + +.navbar { + border-bottom: 0; +} + +.page-header { + margin: 0 0 20px; +} + +abbr[title], abbr[data-original-title], abbr { + border-bottom: none; + cursor: pointer; +} + +a abbr { + cursor: pointer; +} + +.method-description table, .description table { + border: solid 1px #ccc; + padding: 1em; + margin: 1em; +} + +.method-description td, .method-description th, +.description td, .description th { + padding: 0.75em 1.25em; +} + +.method-description tbody tr:nth-child(even), +.description tbody tr:nth-child(even) { + background: #edf3fe; +} + +.method-description tbody tr:nth-child(odd), +.description tbody tr:nth-child(odd) { + background: #fff; +} + +.method-description thead tr, +.description thead tr { + background: #edf3fe; +} + +/** General Sami styling **/ + +.underlined > .row { + padding: 8px 0; + border-bottom: 1px solid #ddd; +} + +#footer { + text-align: right; + margin: 30px; + font-size: 11px; +} + +.description { + margin: 10px 0; + padding: 10px; + background-color: #efefef; +} + +.description p { + padding: 0; + margin: 8px 0; +} + +.method-description { + margin: 0 0 24px 0; +} + +.details { + padding-left: 30px; +} + +#method-details .method-item { + margin-bottom: 30px; +} + +.method-item h3, +.method-item h3 code { + background-color: #eee; +} + +.method-item h3 { + padding: 4px; + margin-bottom: 20px; + font-size: 20px; +} + +.location { + font-size: 11px; + float: right; + font-style: italic; +} + +.namespace-list a { + padding: 3px 8px; + margin: 0 5px 5px 0; + border: 1px solid #ddd; + background-color: #f9f9f9; + display: inline-block; + border-radius: 4px; +} + +.no-description { + color: #ccc; + font-size: 90%; +} + +/* Namespaces page */ + +.namespaces { + clear: both; +} + +.namespaces .namespace-container { + float: left; + margin: 0 14px 14px 0; + min-width: 30%; +} + +.namespaces h2 { + margin: 0 0 20px 0; +} + +@media (max-width: 991px) { + .namespaces .namespace-container { + margin-right: 0; + width: 100%; + } +} + +/** Code and pre tags **/ + +tt, code, pre { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +code { + padding: 0; + padding-top: 0.2em; + padding-bottom: 0.2em; + margin: 0; + font-size: 85%; + background-color: rgba(0,0,0,0.04); + border-radius: 3px; + color: #333; +} + +pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; +} + +h2 { + background-color: #EDF3FE; + padding: 4px 4px 4px 8px; + font-size: 25px; + margin: 20px 0; +} + +/** Doc index **/ + +dt { + font-weight: normal; +} + +dd { + margin-left: 30px; + line-height: 1.5em; +} + +#doc-index h2 { + font-weight: bold; + margin: 30px 0; +} + +#doc-index .pagination { + margin: 0; +} + +/* Search page */ + +.search-results { + list-style-type: none; + padding: 0; + margin: 0; +} + +.search-results li { + list-style-type: none; + margin: 0; + padding: 14px 0; + border-bottom: 1px solid #ccc; +} + +.search-results h2 { + background: none; + margin: 0; + padding: 0; + font-size: 18px; +} + +.search-results h2 a { + float: left; + display: block; + margin: 0 0 4px 0; +} + +.search-results .search-type { + float: right; + margin: 0 0 4px 0; +} + +.search-results .search-from { + margin: 0 0 12px 0; + font-size: 12px; + color: #999; +} + +.search-results .search-from a { + font-style: italic; +} + +.search-results .search-description { + margin: 8px 0 0 30px; +} diff --git a/classes-docs/master/doc-index.html b/classes-docs/master/doc-index.html new file mode 100644 index 0000000..e521a53 --- /dev/null +++ b/classes-docs/master/doc-index.html @@ -0,0 +1,970 @@ + + + + + + Index | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ + + + + +

A

+
ArrClass in namespace Toolkit\ArrUtil
+
Class Arr + alias of the StringHelper
ArrayHelperClass in namespace Toolkit\ArrUtil
+
Class ArrayHelper
ArrayHelper::accessible() — Method in class ArrayHelper
+
Determine whether the given value is array accessible.
ArrayHelper::add() — Method in class ArrayHelper
+
Add an element to an array using "dot" notation if it doesn't exist.
AryBufferClass in namespace Toolkit\ArrUtil
+
Class ArrBuffer
AryBuffer::append() — Method in class AryBuffer
+
ActiveDataClass in namespace Toolkit\Collection
+
Class ActiveData
ActiveData::all() — Method in class ActiveData
+
CollectionInterface::all() — Method in class CollectionInterface
+
JsonMessage::add() — Method in class JsonMessage
+
JsonMessage::all() — Method in class JsonMessage
+
Language::addLangFile() — Method in class Language
+
LiteCollection::add() — Method in class LiteCollection
+
LiteCollection::all() — Method in class LiteCollection
+
SimpleCollection::add() — Method in class SimpleCollection
+
SimpleCollection::all() — Method in class SimpleCollection
+
Get all items in collection
$Container#aliasesProperty in class Container
+
服务别名
$NameAliasTrait#aliasesProperty in class NameAliasTrait
+
path alias array
NameAliasTrait::alias() — Method in class NameAliasTrait
+
set/get name alias
$JsonParser#assocProperty in class JsonParser
+
DevController::addCommand() — Method in class DevController
+
Add component directory code from git repo by 'git subtree add'
FileFinder::addNames() — Method in class FileFinder
+
FileFinder::addNotNames() — Method in class FileFinder
+
FileFinder::addPaths() — Method in class FileFinder
+
FileFinder::addNotPaths() — Method in class FileFinder
+
FileFinder::append() — Method in class FileFinder
+
FileSystem::availableSpace() — Method in class FileSystem
+
ObjectStorage::attach() — Method in class ObjectStorage
+
ArrayAccessByGetterSetterTraitClass in namespace Toolkit\ObjUtil\Traits
+
Class TraitArrayAccess
ArrayAccessByPropertyTraitClass in namespace Toolkit\ObjUtil\Traits
+
Class TraitArrayAccess
AutoLoaderClass in namespace Toolkit\PhpUtil
+
Class AutoLoader
AutoLoader::addFiles() — Method in class AutoLoader
+
AutoLoader::addPsr0() — Method in class AutoLoader
+
AutoLoader::addPsr0Map() — Method in class AutoLoader
+
AutoLoader::addPsr4() — Method in class AutoLoader
+
AutoLoader::addPsr4Map() — Method in class AutoLoader
+
AutoLoader::addClassMap() — Method in class AutoLoader
+
StrBuffer::append() — Method in class StrBuffer
+
StringHelper::absLen() — Method in class StringHelper
+
ProcessUtil::afterDo() — Method in class ProcessUtil
+
AopProxyClass in namespace Toolkit\Util
+
Class AopProxy
DataProxy::add() — Method in class DataProxy
+
DataProxy::addProxy() — Method in class DataProxy
+
DataProxy::addProxies() — Method in class DataProxy
+
PhpDotEnv::add() — Method in class PhpDotEnv
+
Pipeline::add() — Method in class Pipeline
+
{@inheritdoc}
AopProxyAwareTraitClass in namespace Toolkit\Util\Traits
+
Class AopProxyAwareTrait +- AOP 切面编程
AopProxyAwareTrait::addProxy() — Method in class AopProxyAwareTrait
+
AopProxyAwareTrait::addProxies() — Method in class AopProxyAwareTrait
+

B

+
Collection::bindData() — Method in class Collection
+
Language::buildLangFilePath() — Method in class Language
+
UrlHelper::build() — Method in class UrlHelper
+

C

+
ArrayHelper::changeValueCase() — Method in class ArrayHelper
+
将数组中的值全部转为大写或小写
ArrayHelper::collapse() — Method in class ArrayHelper
+
Collapse an array of arrays into a single array.
ArrayHelper::crossJoin() — Method in class ArrayHelper
+
Cross join the given arrays, returning all possible permutations.
AryBuffer::clear() — Method in class AryBuffer
+
clear
ActiveData::create() — Method in class ActiveData
+
CollectionClass in namespace Toolkit\Collection
+
Class DataCollector - 数据收集器 (数据存储器 - DataStorage) complex deep
Collection::clear() — Method in class Collection
+
Clear all data.
CollectionInterfaceClass in namespace Toolkit\Collection
+
Collection Interface
CollectionInterface::clear() — Method in class CollectionInterface
+
clear all data
ConfigurationClass in namespace Toolkit\Collection
+
Class Configuration - 配置数据管理
$JsonMessage#codeProperty in class JsonMessage
+
JsonMessage::code() — Method in class JsonMessage
+
Language::count() — Method in class Language
+
Count elements of an object
LiteCollection::clear() — Method in class LiteCollection
+
clear all data
SimpleCollection::clear() — Method in class SimpleCollection
+
Remove all items from collection
SimpleCollection::count() — Method in class SimpleCollection
+
Get number of items in collection
CallableResolverClass in namespace Toolkit\DI
+
This class resolves a string of the format 'class:method' into a closure +that can be dispatched.
CallableResolverAwareTraitClass in namespace Toolkit\DI
+
ResolveCallable
$CallableResolverAwareTrait#containerProperty in class CallableResolverAwareTrait
+
ContainerClass in namespace Toolkit\DI
+
Class Container
Container::createCallback() — Method in class Container
+
创建(类实例/类的方法)回调
Container::clear() — Method in class Container
+
clear
Container::count() — Method in class Container
+
$DevController#componentsProperty in class DevController
+
$DevController#componentDirProperty in class DevController
+
Directory::create() — Method in class Directory
+
支持层级目录的创建
Directory::copy() — Method in class Directory
+
复制目录内容
Directory::comparePath() — Method in class Directory
+
比较文件路径
File::createAndWrite() — Method in class File
+
********************** 创建多级目录和多个文件 ********************** +结合上两个函数
File::copy() — Method in class File
+
File::combine() — Method in class File
+
FileFinder::create() — Method in class FileFinder
+
FileFinder::count() — Method in class FileFinder
+
FileFinder::current() — Method in class FileFinder
+
FileSystem::clearPharPath() — Method in class FileSystem
+
FileSystem::check() — Method in class FileSystem
+
FileSystem::chmod() — Method in class FileSystem
+
Change mode for an array of files or directories.
FileSystem::chown() — Method in class FileSystem
+
Change the owner of an array of files or directories.
FileSystem::chmodDir() — Method in class FileSystem
+
FileSystem::countSpace() — Method in class FileSystem
+
ModifyWatcher::calcMd5Hash() — Method in class ModifyWatcher
+
ObjectHelper::configure() — Method in class ObjectHelper
+
给对象设置属性值
ObjectHelper::create() — Method in class ObjectHelper
+
从类名创建服务实例对象,会尽可能自动补完构造函数依赖
ObjectStorage::contains() — Method in class ObjectStorage
+
ObjectPoolTrait::count() — Method in class ObjectPoolTrait
+
StdObjectTrait::className() — Method in class StdObjectTrait
+
get called class name
PhpEnv::checkExtList() — Method in class PhpEnv
+
检查多个扩展加载情况
PhpError::codeToString() — Method in class PhpError
+
PhpHelper::call() — Method in class PhpHelper
+
PhpHelper::callByArray() — Method in class PhpHelper
+
Str::contains() — Method in class Str
+
StrBuffer::clear() — Method in class StrBuffer
+
clear
UrlHelper::canAccessed() — Method in class UrlHelper
+
CliClass in namespace Toolkit\SysUtil
+
Class Cli
Cli::color() — Method in class Cli
+
Cli::clearColor() — Method in class Cli
+
ProcessUtil::create() — Method in class ProcessUtil
+
ProcessUtil::changeScriptOwner() — Method in class ProcessUtil
+
Set unix user and group for current process script.
DataProxy::call() — Method in class DataProxy
+
AopProxyAwareTrait::call() — Method in class AopProxyAwareTrait
+

D

+
ArrayHelper::divide() — Method in class ArrayHelper
+
Divide an array into two arrays. One with keys and the other with values.
ArrayHelper::dot() — Method in class ArrayHelper
+
Flatten a multi-dimensional associative array with dots.
$JsonMessage#dataProperty in class JsonMessage
+
JsonMessage::data() — Method in class JsonMessage
+
$SimpleCollection#dataProperty in class SimpleCollection
+
The source data
Container::del() — Method in class Container
+
删除服务
DIManagerClass in namespace Toolkit\DI
+
Class DIManager - Container Manager
DependencyResolutionExceptionClass in namespace Toolkit\DI\Exception
+
Class DependencyResolutionException
DataParserAwareTraitClass in namespace Toolkit\DataParser
+
Class DataParserAwareTrait
JsonParser::decode() — Method in class JsonParser
+
MsgPackParser::decode() — Method in class MsgPackParser
+
ParserInterface::decode() — Method in class ParserInterface
+
PhpParser::decode() — Method in class PhpParser
+
SwooleParser::decode() — Method in class SwooleParser
+
DevControllerClass in namespace Toolkit\Dev\Console
+
Internal tool for toolkit development
$DevController#descriptionProperty in class DevController
+
DirectoryClass in namespace Toolkit\FileUtil
+
Class Directory
Directory::delete() — Method in class Directory
+
删除目录及里面的文件
File::delete() — Method in class File
+
File::downBigFile() — Method in class File
+
If you want to download files from a linux server with +a filesize bigger than 2GB you can use the following
FileFinder::directories() — Method in class FileFinder
+
FileFinder::dirs() — Method in class FileFinder
+
ObjectHelper::decode() — Method in class ObjectHelper
+
反序列化
ObjectStorage::detach() — Method in class ObjectStorage
+
ObjectPoolTrait::destroy() — Method in class ObjectPoolTrait
+
PhpHelper::dumpVars() — Method in class PhpHelper
+
dump vars
HtmlHelper::decode() — Method in class HtmlHelper
+
This is the opposite of {@link encode()}.
StringHelper::deleteStripSpace() — Method in class StringHelper
+
缩进格式化内容,去空白/注释
ProcessUtil::daemonRun() — Method in class ProcessUtil
+
Daemon, detach and run in the background
ProcessUtil::dispatchSignal() — Method in class ProcessUtil
+
dispatch signal
DataProxyClass in namespace Toolkit\Util
+
Class DataProxy
DataResultClass in namespace Toolkit\Util
+
Class DeferredResult
DeferredCallableClass in namespace Toolkit\Util
+
Class DeferredCallable

E

+
ArrayHelper::existsAll() — Method in class ArrayHelper
+
******* 不区分大小写,检查 一个或多个值是否 全存在数组中 ******* +有一个不存在即返回 false
ArrayHelper::existsOne() — Method in class ArrayHelper
+
******* 不区分大小写,检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false
ArrayHelper::except() — Method in class ArrayHelper
+
Get all of the given array except for a specified array of items.
ArrayHelper::exists() — Method in class ArrayHelper
+
Determine if the given key exists in the provided array.
Collection::exists() — Method in class Collection
+
Container::exists() — Method in class Container
+
JsonParser::encode() — Method in class JsonParser
+
MsgPackParser::encode() — Method in class MsgPackParser
+
ParserInterface::encode() — Method in class ParserInterface
+
PhpParser::encode() — Method in class PhpParser
+
SwooleParser::encode() — Method in class SwooleParser
+
FileFinder::exclude() — Method in class FileFinder
+
FileSystem::exists() — Method in class FileSystem
+
检查文件/夹/链接是否存在
ModifyWatcher::exclude() — Method in class ModifyWatcher
+
ObjectHelper::encode() — Method in class ObjectHelper
+
定义一个用来序列化数据的函数
PhpEnv::extIsLoaded() — Method in class PhpEnv
+
PhpHelper::exportVar() — Method in class PhpHelper
+
HtmlHelper::encode() — Method in class HtmlHelper
+
Encodes special characters into HTML entities.
HtmlHelper::encodeArray() — Method in class HtmlHelper
+
HtmlHelper::escape() — Method in class HtmlHelper
+
html代码转义 +htmlspecialchars 只转化这几个html [ & ' " < > ] 代码 --> [ & " ], +而 htmlentities 却会转化所有的html代码,连同里面的它无法识别的中文字符也会转化。 +一般使用 htmlspecialchars 就足够了,要使用 htmlentities 时,要注意为第三个参数传递正确的编码。 + htmlentities() <--> html_entity_decode() — 将特殊的 HTML 实体转换回普通字符 + htmlspecialchars() <--> htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符 +ENT_COMPAT ENT_QUOTES ENT_NOQUOTES ENT_HTML401 ENT_XML1 ENT_XHTML ENT_HTML5
JsonHelper::encode() — Method in class JsonHelper
+
encode data to json
$UrlHelper#entitiesProperty in class UrlHelper
+
UrlHelper::encode() — Method in class UrlHelper
+
url_encode form urlencode(),但是 : / ? & = .
UrlHelper::encode2() — Method in class UrlHelper
+
[urlEncode 会先转换编码] +$url="ftp://ud03:password@www.xxx.net/中文/中文.rar"; +$url1 = url_encode($url); +//ftp://ud03:password@www.xxx.net/%C3%A4%C2%B8%C2%AD%C3%A6%C2%96%C2%87/%C3%A4%C2%B8%C2%AD%C3%A6%C2%96%C2%87.rar +$url2 = urldecode($url); +echo $url1.PHP_EOL.$url2;
Sys::execInBackground() — Method in class Sys
+
run a command in background
Sys::exec() — Method in class Sys
+

F

+
ArrayHelper::flatten() — Method in class ArrayHelper
+
Flatten a multi-dimensional array into a single level.
ArrayHelper::forget() — Method in class ArrayHelper
+
Remove one or many array items from a given array using "dot" notation.
$Collection#formatsProperty in class Collection
+
formats
$Configuration#formatProperty in class Configuration
+
FixedArrayClass in namespace Toolkit\Collection
+
Class FixedArray + fixed size array implements, and support string key.
Language::findTranslationText() — Method in class Language
+
FileNotFoundExceptionClass in namespace Toolkit\FileUtil\Exception
+
Class FileNotFoundException
FileReadExceptionClass in namespace Toolkit\FileUtil\Exception
+
Class FileReadException
FileSystemExceptionClass in namespace Toolkit\FileUtil\Exception
+
Class FileSystemException
FileClass in namespace Toolkit\FileUtil
+
Class File
FileFinderClass in namespace Toolkit\FileUtil
+
Class FileFinder
FileFinder::fromArray() — Method in class FileFinder
+
FileFinder::files() — Method in class FileFinder
+
FileFinder::followLinks() — Method in class FileFinder
+
FileFinder::filter() — Method in class FileFinder
+
FileSystemClass in namespace Toolkit\FileUtil
+
Class FileSystem
Obj::factory() — Method in class Obj
+
StdObjectTrait::fullName() — Method in class StdObjectTrait
+
get called class full name
AutoLoader::findFile() — Method in class AutoLoader
+
Finds the path to the file where the class is defined.
$PhpError#fatalErrorsProperty in class PhpError
+
HtmlHelper::findImages() — Method in class HtmlHelper
+
JsonHelper::format() — Method in class JsonHelper
+
StringHelper::format() — Method in class StringHelper
+
[format description]
ProcessUtil::forks() — Method in class ProcessUtil
+
fork/create multi child processes.
ProcessUtil::fork() — Method in class ProcessUtil
+
fork/create a child process.
AopProxyAwareTrait::findProxyCallback() — Method in class AopProxyAwareTrait
+

G

+
ArrayHelper::gets() — Method in class ArrayHelper
+
Get Multi - 获取多个, 可以设置默认值
ArrayHelper::getKeyMaxWidth() — Method in class ArrayHelper
+
get key Max Width
ArrayHelper::getByPath() — Method in class ArrayHelper
+
Get data from array or object by path.
ArrayHelper::get() — Method in class ArrayHelper
+
Get an item from an array using "dot" notation.
AryBuffer::getBody() — Method in class AryBuffer
+
AryBuffer::getDelimiter() — Method in class AryBuffer
+
ActiveData::get() — Method in class ActiveData
+
以点连接 快速获取子级节点的值
ActiveData::getIterator() — Method in class ActiveData
+
Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach
Collection::get() — Method in class Collection
+
get value by path
Collection::getSeparator() — Method in class Collection
+
Collection::getFormats() — Method in class Collection
+
Collection::getName() — Method in class Collection
+
getName
Collection::getKeys() — Method in class Collection
+
Collection::getIterator() — Method in class Collection
+
CollectionInterface::get() — Method in class CollectionInterface
+
Configuration::get() — Method in class Configuration
+
get value by path
Configuration::getMode() — Method in class Configuration
+
get Mode
Configuration::getFormat() — Method in class Configuration
+
Configuration::getFolderPath() — Method in class Configuration
+
FixedArray::getSize() — Method in class FixedArray
+
FixedArray::getKeyIndex() — Method in class FixedArray
+
FixedArray::getKeys() — Method in class FixedArray
+
FixedArray::getValues() — Method in class FixedArray
+
FixedArray::getIterator() — Method in class FixedArray
+
Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach
Language::getLangFile() — Method in class Language
+
Language::getLang() — Method in class Language
+
Language::getLangs() — Method in class Language
+
Language::getBasePath() — Method in class Language
+
Language::getData() — Method in class Language
+
Language::getLangFiles() — Method in class Language
+
Language::getDefaultFile() — Method in class Language
+
Language::getFallbackLang() — Method in class Language
+
Language::getFallbackData() — Method in class Language
+
Language::getFormat() — Method in class Language
+
Language::getSeparator() — Method in class Language
+
Language::getLoadedFiles() — Method in class Language
+
Language::getIterator() — Method in class Language
+
Retrieve an external iterator
LiteCollection::get() — Method in class LiteCollection
+
SimpleCollection::get() — Method in class SimpleCollection
+
Get collection item for key
SimpleCollection::gets() — Method in class SimpleCollection
+
SimpleCollection::getIterator() — Method in class SimpleCollection
+
Get collection iterator
Container::get() — Method in class Container
+
get 获取已注册的服务组件实例 + - (单例)共享服务总是获取已存储的实例 + - 其他的则总是返回新的实例
Container::getNew() — Method in class Container
+
强制获取服务的新实例,针对共享服务
Container::getIfExist() — Method in class Container
+
若存在服务则返回 否则返回 null
Container::getInstance() — Method in class Container
+
get 获取已注册的服务组件实例
Container::getService() — Method in class Container
+
获取某一个服务的信息
Container::getServices() — Method in class Container
+
获取全部服务信息
Container::getIds() — Method in class Container
+
获取全部服务id
Container::getIterator() — Method in class Container
+
Defined by IteratorAggregate interface +Returns an iterator for this object, for use with foreach
DIManager::getDefault() — Method in class DIManager
+
DIManager::getContainer() — Method in class DIManager
+
DIManager::getDefaultGroup() — Method in class DIManager
+
Method to get property Profile
NameAliasTrait::getAliases() — Method in class NameAliasTrait
+
Service::get() — Method in class Service
+
Service::getCallback() — Method in class Service
+
Service::getArguments() — Method in class Service
+
Service::getInstance() — Method in class Service
+
DataParserAwareTrait::getParser() — Method in class DataParserAwareTrait
+
$DevController#gitUrlProperty in class DevController
+
DevController::genApiCommand() — Method in class DevController
+
Generate classes API documents by 'sami/sami'
Directory::getRecursiveIterator() — Method in class Directory
+
```php +$filter = function ($current, $key, $iterator) { + // \SplFileInfo $current + // Skip hidden files and directories.
Directory::getList() — Method in class Directory
+
只获得目录结构
Directory::getDirs() — Method in class Directory
+
Directory::getFiles() — Method in class Directory
+
获得目录下的文件,可选择类型、是否遍历子文件夹
Directory::getFilesInfo() — Method in class Directory
+
获得目录下的文件以及详细信息,可选择类型、是否遍历子文件夹
File::getName() — Method in class File
+
获得文件名称
File::getSuffix() — Method in class File
+
获得文件扩展名、后缀名
File::getExtension() — Method in class File
+
获得文件扩展名、后缀名
File::getStat() — Method in class File
+
File::getContents() — Method in class File
+
FileFinder::getIterator() — Method in class FileFinder
+
Retrieve an external iterator
FileFinder::getChildren() — Method in class FileFinder
+
FileSystem::getIterator() — Method in class FileSystem
+
ModifyWatcher::getMd5ByIdFile() — Method in class ModifyWatcher
+
ModifyWatcher::getIdFile() — Method in class ModifyWatcher
+
ModifyWatcher::getWatchDir() — Method in class ModifyWatcher
+
ModifyWatcher::getDirMd5() — Method in class ModifyWatcher
+
ModifyWatcher::getFileCounter() — Method in class ModifyWatcher
+
ReadTrait::getLines5u3d() — Method in class ReadTrait
+
得到基准行数上5行下3行的内容, lines up and down
GetPropertyExceptionClass in namespace Toolkit\ObjUtil\Exception
+
Class GetPropertyException
ObjectHelper::getMethodArgs() — Method in class ObjectHelper
+
ObjectPoolTrait::get() — Method in class ObjectPoolTrait
+
ObjectPoolTrait::getStack() — Method in class ObjectPoolTrait
+
AutoLoader::getLoader() — Method in class AutoLoader
+
AutoLoader::getFiles() — Method in class AutoLoader
+
AutoLoader::getPsr4Map() — Method in class AutoLoader
+
AutoLoader::getClassMap() — Method in class AutoLoader
+
AutoLoader::getMissingClasses() — Method in class AutoLoader
+
PhpEnv::getVersion() — Method in class PhpEnv
+
Get PHP version
PhpEnv::getLoadedExtension() — Method in class PhpEnv
+
返回加载的扩展
PhpHelper::getMaxUploadSize() — Method in class PhpHelper
+
根据服务器设置得到文件上传大小的最大值
PhpHelper::getUserConstants() — Method in class PhpHelper
+
StrBuffer::getBody() — Method in class StrBuffer
+
StringHelper::genSalt() — Method in class StringHelper
+
StringHelper::genUid() — Method in class StringHelper
+
ProcessUtil::getPid() — Method in class ProcessUtil
+
get current process id
ProcessUtil::getPidByFile() — Method in class ProcessUtil
+
get Pid from File
ProcessUtil::getCurrentUser() — Method in class ProcessUtil
+
Get unix user of current process.
Sys::getTempDir() — Method in class Sys
+
Sys::getCpuUsage() — Method in class Sys
+
Sys::getMemUsage() — Method in class Sys
+
Sys::gitCheck() — Method in class Sys
+
支持查看指定目录,默认当前目录 +CLI: + php test.php -d=path + php test.php --dir=path +WEB: + /test.php?dir=path
SysEnv::getHostname() — Method in class SysEnv
+
SysEnv::getNullDevice() — Method in class SysEnv
+
DataProxy::getProxies() — Method in class DataProxy
+
DataResult::get() — Method in class DataResult
+
DataResult::getValue() — Method in class DataResult
+
AopProxyAwareTrait::getProxyPoints() — Method in class AopProxyAwareTrait
+
AopProxyAwareTrait::getProxyTarget() — Method in class AopProxyAwareTrait
+
AopProxyAwareTrait::getProxyMap() — Method in class AopProxyAwareTrait
+

H

+
ArrayHelper::has() — Method in class ArrayHelper
+
Check if an item or items exist in an array using "dot" notation.
Collection::has() — Method in class Collection
+
CollectionInterface::has() — Method in class CollectionInterface
+
Language::has() — Method in class Language
+
Language::hasLangFile() — Method in class Language
+
Language::hasLangFileData() — Method in class Language
+
Language::hasLang() — Method in class Language
+
LiteCollection::has() — Method in class LiteCollection
+
SimpleCollection::has() — Method in class SimpleCollection
+
Does this collection have a given key?
Container::has() — Method in class Container
+
是已注册的服务
NameAliasTrait::hasAlias() — Method in class NameAliasTrait
+
ObjectHelper::hash() — Method in class ObjectHelper
+
ObjectStorage::has() — Method in class ObjectStorage
+
PhpEnv::hasExtension() — Method in class PhpEnv
+
PhpEnv::hasXDebug() — Method in class PhpEnv
+
Returns true when the runtime used is PHP and Xdebug is loaded.
HtmlHelperClass in namespace Toolkit\StrUtil
+
Class HtmlHelper
Str::has() — Method in class Str
+
ProcessUtil::hasPcntl() — Method in class ProcessUtil
+
ProcessUtil::hasPosix() — Method in class ProcessUtil
+
DataProxy::hasName() — Method in class DataProxy
+

I

+
ArrayHelper::isAssoc() — Method in class ArrayHelper
+
Determines if an array is associative.
ActiveData::isStrict() — Method in class ActiveData
+
Configuration::isReadonly() — Method in class Configuration
+
data is Readonly
JsonMessage::isSuccess() — Method in class JsonMessage
+
JsonMessage::isFailure() — Method in class JsonMessage
+
Language::init() — Method in class Language
+
{@inheritDoc}
Language::isLang() — Method in class Language
+
Language::isIgnoreError() — Method in class Language
+
LiteCollection::implode() — Method in class LiteCollection
+
SimpleCollection::implode() — Method in class SimpleCollection
+
Container::isShared() — Method in class Container
+
Container::isLocked() — Method in class Container
+
Service::isLocked() — Method in class Service
+
Service::isShared() — Method in class Service
+
JsonParser::isAssoc() — Method in class JsonParser
+
Directory::isEmpty() — Method in class Directory
+
判断文件夹是否为空
IOExceptionClass in namespace Toolkit\FileUtil\Exception
+
Class IOException
File::info() — Method in class File
+
FileFinder::ignoreVCS() — Method in class FileFinder
+
FileFinder::ignoreDotFiles() — Method in class FileFinder
+
FileFinder::in() — Method in class FileFinder
+
FileFinder::inDir() — Method in class FileFinder
+
alias of the in()
FileFinder::isFollowLinks() — Method in class FileFinder
+
FileFinder::isRewindable() — Method in class FileFinder
+
FileSystem::isAbsPath() — Method in class FileSystem
+
FileSystem::isAbsolutePath() — Method in class FileSystem
+
Returns whether the file path is an absolute path.
FileSystem::isReadable() — Method in class FileSystem
+
Tells whether a file exists and is readable.
ModifyWatcher::ignoreDotDirs() — Method in class ModifyWatcher
+
ModifyWatcher::ignoreDotFiles() — Method in class ModifyWatcher
+
ModifyWatcher::isModified() — Method in class ModifyWatcher
+
ModifyWatcher::isChanged() — Method in class ModifyWatcher
+
Obj::isArrayable() — Method in class Obj
+
ObjectHelper::init() — Method in class ObjectHelper
+
给对象设置属性值 +- 会先尝试用 setter 方法设置属性 +- 再尝试直接设置属性
StdObjectTrait::init() — Method in class StdObjectTrait
+
init
PhpEnv::isEmbed() — Method in class PhpEnv
+
isEmbed
PhpEnv::isCgi() — Method in class PhpEnv
+
PhpEnv::isCli() — Method in class PhpEnv
+
is Cli
PhpEnv::isBuiltInServer() — Method in class PhpEnv
+
is Build In Server +run server use like: php -S 127.0.0.1:8085
PhpEnv::isDevServer() — Method in class PhpEnv
+
PhpEnv::isWeb() — Method in class PhpEnv
+
isWeb
PhpEnv::isHHVM() — Method in class PhpEnv
+
isHHVM
PhpEnv::isPHP() — Method in class PhpEnv
+
isPHP
UrlHelper::isRelative() — Method in class UrlHelper
+
UrlHelper::isUrl() — Method in class UrlHelper
+
UrlHelper::isFullUrl() — Method in class UrlHelper
+
Cli::isSupportColor() — Method in class Cli
+
Returns true if STDOUT supports colorization.
ProcessUtil::isRunning() — Method in class ProcessUtil
+
ProcessUtil::installSignal() — Method in class ProcessUtil
+
install signal
SysEnv::isUnix() — Method in class SysEnv
+
SysEnv::isLinux() — Method in class SysEnv
+
SysEnv::isWin() — Method in class SysEnv
+
SysEnv::isWindows() — Method in class SysEnv
+
SysEnv::isMac() — Method in class SysEnv
+
SysEnv::isRoot() — Method in class SysEnv
+
SysEnv::isSupportColor() — Method in class SysEnv
+
Returns true if STDOUT supports colorization.
SysEnv::isInteractive() — Method in class SysEnv
+
Returns if the file descriptor is an interactive terminal or not.

J

+
JsonMessageClass in namespace Toolkit\Collection
+
Class JsonMessage
LiteCollection::jsonSerialize() — Method in class LiteCollection
+
Specify data which should be serialized to JSON
SimpleCollection::jsonSerialize() — Method in class SimpleCollection
+
JsonParserClass in namespace Toolkit\DataParser
+
Class JsonParser
JsonClass in namespace Toolkit\StrUtil
+
Class Json
JsonHelperClass in namespace Toolkit\StrUtil
+
Class JsonHelper

K

+
ArrayHelper::keyExists() — Method in class ArrayHelper
+
不区分大小写检测数据键名是否存在
$FixedArray#keysProperty in class FixedArray
+
SimpleCollection::keys() — Method in class SimpleCollection
+
Get collection keys
ProcessUtil::kill() — Method in class ProcessUtil
+
send kill signal to the process
ProcessUtil::killAndWait() — Method in class ProcessUtil
+
Do shutdown process and wait it exit.
ProcessUtil::killByName() — Method in class ProcessUtil
+
杀死所有进程

L

+
ActiveData::load() — Method in class ActiveData
+
初始化,载入数据
Collection::load() — Method in class Collection
+
load
Collection::loadYaml() — Method in class Collection
+
load data form yml file
Collection::loadArray() — Method in class Collection
+
load data form php file or array
Collection::loadObject() — Method in class Collection
+
load data form php file or array
Collection::loadIni() — Method in class Collection
+
load data form ini file
Collection::loadJson() — Method in class Collection
+
load data form json file
LanguageClass in namespace Toolkit\Collection
+
Class Language
LiteCollectionClass in namespace Toolkit\Collection
+
Class LiteCollection
Container::lock() — Method in class Container
+
(注册)锁定的服务,也可在注册后锁定,防止 getNew() 强制重载
DevController::listCommand() — Method in class DevController
+
List all swoft component names in the php-toolkit/toolkit
Directory::ls() — Method in class Directory
+
查看一个目录中的所有文件和子目录
ReadTrait::load() — Method in class ReadTrait
+
ReadTrait::loadPhp() — Method in class ReadTrait
+
load array data form file.
ReadTrait::loadJson() — Method in class ReadTrait
+
ReadTrait::loadIni() — Method in class ReadTrait
+
ReadTrait::loadYml() — Method in class ReadTrait
+
AutoLoader::loadClass() — Method in class AutoLoader
+
Loads the given class or interface.
StringHelper::length() — Method in class StringHelper
+
计算字符长度
PhpDotEnv::load() — Method in class PhpDotEnv
+

M

+
ArrayHelper::merge() — Method in class ArrayHelper
+
递归合并两个多维数组,后面的值将会递归覆盖原来的值
ArrayHelper::merge2() — Method in class ArrayHelper
+
递归合并多个多维数组,
Collection::make() — Method in class Collection
+
$Configuration#modeProperty in class Configuration
+
config mode +Allow: + folder 文件夹模式,传入一个配置文件夹路径,根据文件夹中的配置名称读取配置数据 + data 数据模式,可以一个配置文件的路径,将会自动读取载入;或直接传入数组数据
$JsonMessage#msgProperty in class JsonMessage
+
JsonMessage::make() — Method in class JsonMessage
+
JsonMessage::msg() — Method in class JsonMessage
+
LiteCollection::make() — Method in class LiteCollection
+
LiteCollection::map() — Method in class LiteCollection
+
SimpleCollection::make() — Method in class SimpleCollection
+
SimpleCollection::map() — Method in class SimpleCollection
+
DIManager::make() — Method in class DIManager
+
MsgPackParserClass in namespace Toolkit\DataParser
+
Class MsgPackParser
File::mimeType() — Method in class File
+
File::move() — Method in class File
+
FileSystem::mkdir() — Method in class FileSystem
+
Creates a directory recursively.
ModifyWatcherClass in namespace Toolkit\FileUtil
+
Class FilesWatcher - Check Dir's files modified by md5_file()
HtmlHelper::minify() — Method in class HtmlHelper
+
ProcessUtil::multi() — Method in class ProcessUtil
+

N

+
$Collection#nameProperty in class Collection
+
name
$Container#nameProperty in class Container
+
当前容器名称,初始时即固定
Container::new() — Method in class Container
+
NotFoundExceptionClass in namespace Toolkit\DI\Exception
+
Class NotFoundException
NameAliasTraitClass in namespace Toolkit\DI
+
Class NameAliasTrait
$DevController#nameProperty in class DevController
+
FileFinder::name() — Method in class FileFinder
+
$finder->name('*.php') +$finder->name('test.php')
FileFinder::notName() — Method in class FileFinder
+
FileFinder::notPath() — Method in class FileFinder
+
ModifyWatcher::name() — Method in class ModifyWatcher
+
ModifyWatcher::notName() — Method in class ModifyWatcher
+
StringHelper::nl2br() — Method in class StringHelper
+
Convert \n and \r\n and \r to
StringHelper::nameChange() — Method in class StringHelper
+
驼峰式 <=> 下划线式

O

+
ArrayHelper::only() — Method in class ArrayHelper
+
Get a subset of the items from the given array.
ActiveData::offsetExists() — Method in class ActiveData
+
Checks whether an offset exists in the iterator.
ActiveData::offsetGet() — Method in class ActiveData
+
Gets an offset in the iterator.
ActiveData::offsetSet() — Method in class ActiveData
+
Sets an offset in the iterator.
ActiveData::offsetUnset() — Method in class ActiveData
+
Unset an offset in the iterator.
Collection::offsetUnset() — Method in class Collection
+
Unset an offset in the iterator.
FixedArray::offsetExists() — Method in class FixedArray
+
Checks whether an offset exists in the iterator.
FixedArray::offsetGet() — Method in class FixedArray
+
Gets an offset in the iterator.
FixedArray::offsetSet() — Method in class FixedArray
+
Sets an offset in the iterator.
FixedArray::offsetUnset() — Method in class FixedArray
+
Unset an offset in the iterator.
Language::offsetExists() — Method in class Language
+
Whether a offset exists
Language::offsetGet() — Method in class Language
+
Offset to retrieve
Language::offsetSet() — Method in class Language
+
Offset to set
Language::offsetUnset() — Method in class Language
+
Offset to unset
SimpleCollection::offsetExists() — Method in class SimpleCollection
+
Does this collection have a given key?
SimpleCollection::offsetGet() — Method in class SimpleCollection
+
Get collection item for key
SimpleCollection::offsetSet() — Method in class SimpleCollection
+
Set collection item
SimpleCollection::offsetUnset() — Method in class SimpleCollection
+
Remove item from collection
Container::offsetExists() — Method in class Container
+
Checks whether an offset exists in the iterator.
Container::offsetGet() — Method in class Container
+
Gets an offset in the iterator.
Container::offsetSet() — Method in class Container
+
Sets an offset in the iterator.
Container::offsetUnset() — Method in class Container
+
Unset an offset in the iterator.
File::openHandler() — Method in class File
+
ObjClass in namespace Toolkit\ObjUtil
+
Class Obj + alias of the ObjectHelper
ObjectHelperClass in namespace Toolkit\ObjUtil
+
Class ObjectHelper
ObjectStorageClass in namespace Toolkit\ObjUtil
+
Class ObjectStorage + - 允许使用非对象作为key,会自动使用 \stdClass 转成对象
ArrayAccessByGetterSetterTrait::offsetExists() — Method in class ArrayAccessByGetterSetterTrait
+
Checks whether an offset exists in the iterator.
ArrayAccessByGetterSetterTrait::offsetGet() — Method in class ArrayAccessByGetterSetterTrait
+
Gets an offset in the iterator.
ArrayAccessByGetterSetterTrait::offsetSet() — Method in class ArrayAccessByGetterSetterTrait
+
Sets an offset in the iterator.
ArrayAccessByGetterSetterTrait::offsetUnset() — Method in class ArrayAccessByGetterSetterTrait
+
Unset an offset in the iterator.
ArrayAccessByPropertyTrait::offsetExists() — Method in class ArrayAccessByPropertyTrait
+
Checks whether an offset exists in the iterator.
ArrayAccessByPropertyTrait::offsetGet() — Method in class ArrayAccessByPropertyTrait
+
Gets an offset in the iterator.
ArrayAccessByPropertyTrait::offsetSet() — Method in class ArrayAccessByPropertyTrait
+
Sets an offset in the iterator.
ArrayAccessByPropertyTrait::offsetUnset() — Method in class ArrayAccessByPropertyTrait
+
Unset an offset in the iterator.
ObjectPoolTraitClass in namespace Toolkit\ObjUtil\Traits
+
Class ObjectPoolTrait
SingletonTrait::own() — Method in class SingletonTrait
+
Str::optional() — Method in class Str
+

P

+
ArrayHelper::prepend() — Method in class ArrayHelper
+
Push an item onto the beginning of an array.
ArrayHelper::pull() — Method in class ArrayHelper
+
Get a value from the array, and remove it.
AryBuffer::prepend() — Method in class AryBuffer
+
Collection::parseIni() — Method in class Collection
+
Collection::parseJson() — Method in class Collection
+
Collection::parseYaml() — Method in class Collection
+
parse YAML
$Container#parentProperty in class Container
+
当前容器的父级容器
Container::protect() — Method in class Container
+
注册受保护的服务 alias of the lock()
ParserInterfaceClass in namespace Toolkit\DataParser
+
Interface ParserInterface
PhpParserClass in namespace Toolkit\DataParser
+
Class PhpParser
DevController::pullCommand() — Method in class DevController
+
Update component directory code from git repo by 'git subtree pull'
DevController::pushCommand() — Method in class DevController
+
Push component[s] directory code to component's repo by 'git subtree push'
FileFinder::path() — Method in class FileFinder
+
$finder->path('some/special/dir')
FileSystem::pathFormat() — Method in class FileSystem
+
转换为标准的路径结构
FileSystem::pathModeInfo() — Method in class FileSystem
+
文件或目录权限检查函数
PropertyExceptionClass in namespace Toolkit\ObjUtil\Exception
+
Class PropertyException
ObjectPoolTrait::put() — Method in class ObjectPoolTrait
+
PropertyAccessByGetterSetterTraitClass in namespace Toolkit\ObjUtil\Traits
+
trait PropertyAccessByGetterSetterTrait
PhpClass in namespace Toolkit\PhpUtil
+
Class Php - alias of the class PhpHelper
PhpEnvClass in namespace Toolkit\PhpUtil
+
Class PhpEnv
PhpErrorClass in namespace Toolkit\PhpUtil
+
Class PhpError
PhpExceptionClass in namespace Toolkit\PhpUtil
+
Class PhpException
PhpHelperClass in namespace Toolkit\PhpUtil
+
Class PhpHelper
PhpHelper::printVars() — Method in class PhpHelper
+
print vars
JsonHelper::parse() — Method in class JsonHelper
+
JsonHelper::parseFile() — Method in class JsonHelper
+
JsonHelper::parseString() — Method in class JsonHelper
+
StrBuffer::prepend() — Method in class StrBuffer
+
UrlHelper::parseUrl() — Method in class UrlHelper
+
Cli::parseArgv() — Method in class Cli
+
Parses $GLOBALS['argv'] for parameters and assigns them to an array.
ProcessUtilClass in namespace Toolkit\SysUtil
+
Class ProcessUtil
$AopProxy#proxyMapProperty in class AopProxy
+
$DataProxy#proxiesProperty in class DataProxy
+
proxy list
PhpDotEnvClass in namespace Toolkit\Util
+
Class PhpDotEnv - local env read
PipelineClass in namespace Toolkit\Util
+
Class Pipeline
$AopProxyAwareTrait#proxyMapProperty in class AopProxyAwareTrait
+
要经过AOP代理的方法配置 +e.g: +[ + 'XyzClass::methodBefore' => [handler0, handler1], + 'XyzClass::methodAfter' => [handler2, handler3], +]
AopProxyAwareTrait::proxy() — Method in class AopProxyAwareTrait
+

Q

+
ProcessUtil::quit() — Method in class ProcessUtil
+
exit

R

+
ArrayHelper::remove() — Method in class ArrayHelper
+
remove the $key of the $arr, and return value.
Collection::reset() — Method in class Collection
+
Collection::read() — Method in class Collection
+
CollectionInterface::replace() — Method in class CollectionInterface
+
CollectionInterface::remove() — Method in class CollectionInterface
+
FixedArray::reset() — Method in class FixedArray
+
reset
LiteCollection::replace() — Method in class LiteCollection
+
LiteCollection::reject() — Method in class LiteCollection
+
LiteCollection::remove() — Method in class LiteCollection
+
SimpleCollection::replace() — Method in class SimpleCollection
+
Add item to collection
SimpleCollection::reject() — Method in class SimpleCollection
+
SimpleCollection::remove() — Method in class SimpleCollection
+
Remove item from collection
CallableResolver::resolve() — Method in class CallableResolver
+
Resolve toResolve into a closure that that the router can dispatch.
CallableResolverAwareTrait::resolveCallable() — Method in class CallableResolverAwareTrait
+
Resolve a string of the format 'class:method' into a closure that the +router can dispatch.
Container::registerServiceProvider() — Method in class Container
+
注册服务提供者(可能含有多个服务)
Container::registerServiceProviders() — Method in class Container
+
Container::raw() — Method in class Container
+
Container::resolveAlias() — Method in class Container
+
DIManager::reset() — Method in class DIManager
+
reset
NameAliasTrait::resolveAlias() — Method in class NameAliasTrait
+
ServiceProviderInterface::register() — Method in class ServiceProviderInterface
+
注册一项服务(可能含有多个服务)提供者到容器中
DevController::runGitSubtree() — Method in class DevController
+
FileFinder::rewind() — Method in class FileFinder
+
FileSystem::rename() — Method in class FileSystem
+
Renames a file or a directory.
ReadTraitClass in namespace Toolkit\FileUtil
+
Class Read
ReadTrait::readAllLine() — Method in class ReadTrait
+
ReadTrait::readLines() — Method in class ReadTrait
+
getLines 获取文件一定范围内的内容
ReadTrait::readSymmetry() — Method in class ReadTrait
+
symmetry 得到当前行对称上下几($lineNum)行的内容
ReadTrait::readRangeLines() — Method in class ReadTrait
+
AutoLoader::register() — Method in class AutoLoader
+
Registers this instance as an autoloader.
PhpHelper::runtime() — Method in class PhpHelper
+
获取资源消耗
StringHelper::regexVerify() — Method in class StringHelper
+
使用正则验证数据
StringHelper::random() — Method in class StringHelper
+
********************** 生成一定长度的随机字符串函数 **********************
$UrlHelper#replacementsProperty in class UrlHelper
+
Cli::renderColor() — Method in class Cli
+
Cli::read() — Method in class Cli
+
ProcessUtil::run() — Method in class ProcessUtil
+
run a command. it is support windows
ProcessUtil::runInBackground() — Method in class ProcessUtil
+
run a command in background
Sys::runCommand() — Method in class Sys
+
Method to execute a command in the sys +Uses : +1. system +2. passthru +3. exec +4. shell_exec
Pipeline::run() — Method in class Pipeline
+
{@inheritdoc}
AopProxyAwareTrait::register() — Method in class AopProxyAwareTrait
+

S

+
ArrayHelper::setByPath() — Method in class ArrayHelper
+
setByPath
ArrayHelper::set() — Method in class ArrayHelper
+
Set an array item to a given value using "dot" notation.
ArrayHelper::shuffle() — Method in class ArrayHelper
+
Shuffle the given array and return the result.
AryBuffer::setBody() — Method in class AryBuffer
+
AryBuffer::setDelimiter() — Method in class AryBuffer
+
$Collection#separatorProperty in class Collection
+
Property separator.
Collection::set() — Method in class Collection
+
set config value by path
Collection::setSeparator() — Method in class Collection
+
Collection::setName() — Method in class Collection
+
setName
CollectionInterface::set() — Method in class CollectionInterface
+
Configuration::set() — Method in class Configuration
+
set config value by path
Configuration::setMode() — Method in class Configuration
+
Configuration::setReadonly() — Method in class Configuration
+
Configuration::setFormat() — Method in class Configuration
+
Configuration::setFolderPath() — Method in class Configuration
+
FixedArray::setKeys() — Method in class FixedArray
+
FixedArray::setValues() — Method in class FixedArray
+
Language::set() — Method in class Language
+
Language::setLang() — Method in class Language
+
Language::setLangs() — Method in class Language
+
Language::setBasePath() — Method in class Language
+
Language::setLangFiles() — Method in class Language
+
Language::setFallbackLang() — Method in class Language
+
Language::setFormat() — Method in class Language
+
Language::setSeparator() — Method in class Language
+
Language::setIgnoreError() — Method in class Language
+
LiteCollection::set() — Method in class LiteCollection
+
SimpleCollectionClass in namespace Toolkit\Collection
+
Collection +This class provides a common interface used by many other +classes in a Inhere\Library application that manage "collections" +of data that must be inspected and/or manipulated
SimpleCollection::set() — Method in class SimpleCollection
+
Set collection item
SimpleCollection::sets() — Method in class SimpleCollection
+
SimpleCollection::serialize() — Method in class SimpleCollection
+
Container::set() — Method in class Container
+
在容器注册服务(详细的参数信息请查看README.md)
Container::sets() — Method in class Container
+
通过设置配置的多维数组 注册多个服务. 服务详细设置请看{see self::set()}
Container::setParent() — Method in class Container
+
Method to set property parent
DIManager::setDefaultGroup() — Method in class DIManager
+
setProfile
NameAliasTrait::setAliases() — Method in class NameAliasTrait
+
ServiceClass in namespace Toolkit\DI
+
Class Service
Service::setCallback() — Method in class Service
+
Service::setArguments() — Method in class Service
+
给服务设置参数,在获取服务实例前
Service::setLocked() — Method in class Service
+
Service::setShared() — Method in class Service
+
ServiceProviderInterfaceClass in namespace Toolkit\DI
+
Interface InterfaceServiceProvider
DataParserAwareTrait::setParser() — Method in class DataParserAwareTrait
+
JsonParser::setAssoc() — Method in class JsonParser
+
SwooleParserClass in namespace Toolkit\DataParser
+
Class SwooleParser
Directory::simpleInfo() — Method in class Directory
+
获得目录下的文件,可选择类型、是否遍历子文件夹
File::save() — Method in class File
+
save description
File::stripPhpCode() — Method in class File
+
Removes whitespace from a PHP source string while preserving line numbers.
ModifyWatcher::setIdFile() — Method in class ModifyWatcher
+
SetPropertyExceptionClass in namespace Toolkit\ObjUtil\Exception
+
Class SetPropertyException
Obj::singleton() — Method in class Obj
+
ObjectHelper::smartConfigure() — Method in class ObjectHelper
+
ObjectHelper::setAttrs() — Method in class ObjectHelper
+
给对象设置属性值
ObjectHelper::smartCreate() — Method in class ObjectHelper
+
SingletonTraitClass in namespace Toolkit\ObjUtil\Traits
+
Trait SingletonTrait
StdObjectTraitClass in namespace Toolkit\ObjUtil\Traits
+
Class StdObjectTrait
StdObjectTrait::spaceName() — Method in class StdObjectTrait
+
get called class namespace
AutoLoader::setFiles() — Method in class AutoLoader
+
AutoLoader::setPsr4Map() — Method in class AutoLoader
+
AutoLoader::setClassMap() — Method in class AutoLoader
+
PhpEnv::setStrict() — Method in class PhpEnv
+
setStrict
PhpEnv::setMuted() — Method in class PhpEnv
+
setMuted
HtmlHelper::stripImages() — Method in class HtmlHelper
+
Strip img-tags from string
HtmlHelper::stripIframes() — Method in class HtmlHelper
+
Strip iframe-tags from string
HtmlHelper::stripScript() — Method in class HtmlHelper
+
stripScript
HtmlHelper::stripStyle() — Method in class HtmlHelper
+
stripStyle
JsonHelper::saveAs() — Method in class JsonHelper
+
StrClass in namespace Toolkit\StrUtil
+
Class Str + alias of the StringHelper
StrBufferClass in namespace Toolkit\StrUtil
+
Class StrBuffer
StrBuffer::setBody() — Method in class StrBuffer
+
StringHelperClass in namespace Toolkit\StrUtil
+
Class StringHelper
StringHelper::strlen() — Method in class StringHelper
+
StringHelper::strtolower() — Method in class StringHelper
+
StringHelper::strtoupper() — Method in class StringHelper
+
StringHelper::substr() — Method in class StringHelper
+
StringHelper::strpos() — Method in class StringHelper
+
StringHelper::strrpos() — Method in class StringHelper
+
StringHelper::str2array() — Method in class StringHelper
+
var_dump(str2array('34,56,678, 678, 89, '));
StringHelper::split2Array() — Method in class StringHelper
+
Cli::stdout() — Method in class Cli
+
Logs data to stdout
Cli::stderr() — Method in class Cli
+
Logs data to stderr
$ProcessUtil#signalMapProperty in class ProcessUtil
+
ProcessUtil::stopWorkers() — Method in class ProcessUtil
+
Stops all running children
ProcessUtil::sendSignal() — Method in class ProcessUtil
+
send signal to the process
ProcessUtil::setName() — Method in class ProcessUtil
+
Set process title.
ProcessUtil::setTitle() — Method in class ProcessUtil
+
Set process title.
SysClass in namespace Toolkit\SysUtil
+
Class Sys
SysEnvClass in namespace Toolkit\SysUtil
+
Class EnvHelper
DataProxy::setProxy() — Method in class DataProxy
+
DataProxy::setProxies() — Method in class DataProxy
+
DataResult::setValue() — Method in class DataResult
+
AopProxyAwareTrait::setProxyMap() — Method in class AopProxyAwareTrait
+

T

+
ArrayHelper::toIterator() — Method in class ArrayHelper
+
ArrayHelper::toObject() — Method in class ArrayHelper
+
array data to object
ArrayHelper::toString() — Method in class ArrayHelper
+
array 递归 转换成 字符串
ArrayHelper::toStringNoKey() — Method in class ArrayHelper
+
ArrayHelper::toFormatString() — Method in class ArrayHelper
+
ArrayHelper::toLimitOut() — Method in class ArrayHelper
+
AryBuffer::toString() — Method in class AryBuffer
+
Collection::toObject() — Method in class Collection
+
$JsonMessage#timeProperty in class JsonMessage
+
JsonMessage::toArray() — Method in class JsonMessage
+
Language::t() — Method in class Language
+
{@inheritdoc}
Language::tl() — Method in class Language
+
{@inheritdoc}
Language::trans() — Method in class Language
+
{@inheritdoc}
Language::translate() — Method in class Language
+
how to use language translate ? please see '/doc/language.md'
Language::transByFallbackLang() — Method in class Language
+
SimpleCollection::toArray() — Method in class SimpleCollection
+
ReadTrait::tail() — Method in class ReadTrait
+
读取文件的最后几行(支持大文件读取)
ObjectHelper::toArray() — Method in class ObjectHelper
+
php对象转换成为数组
PhpError::toArray() — Method in class PhpError
+
$lastError = error_get_last();
PhpException::toString() — Method in class PhpException
+
PhpException::toHtml() — Method in class PhpException
+
Converts an exception into a simple string.
PhpException::toArray() — Method in class PhpException
+
Converts an exception into a simple array.
PhpException::toJson() — Method in class PhpException
+
Converts an exception into a json string.
StrBuffer::toString() — Method in class StrBuffer
+
StringHelper::toArray() — Method in class StringHelper
+
StringHelper::truncate() — Method in class StringHelper
+
StringHelper::truncate_two() — Method in class StringHelper
+
字符截断输出
StringHelper::truncateString() — Method in class StringHelper
+
Copied from CakePHP String utility file
StringHelper::toCamel() — Method in class StringHelper
+
StringHelper::toCamelCase() — Method in class StringHelper
+
Translates a string with underscores into camel case (e.g. first_name -> firstName)
StringHelper::toSnake() — Method in class StringHelper
+
StringHelper::toSnakeCase() — Method in class StringHelper
+
Transform a CamelCase string to underscore_case string

U

+
SimpleCollection::unserialize() — Method in class SimpleCollection
+
ObjectPoolTrait::use() — Method in class ObjectPoolTrait
+
AutoLoader::unRegister() — Method in class AutoLoader
+
Un-registers this instance as an autoloader.
HtmlHelper::unescap() — Method in class HtmlHelper
+
去掉html转义
StringHelper::utf8SubStr() — Method in class StringHelper
+
StringHelper::ucfirst() — Method in class StringHelper
+
StringHelper::ucwords() — Method in class StringHelper
+
UrlHelperClass in namespace Toolkit\StrUtil
+
Class UrlHelper

V

+
ArrayHelper::valueTrim() — Method in class ArrayHelper
+
清理数组值的空白
ArrayHelper::valueToLower() — Method in class ArrayHelper
+
ArrayHelper::valueToUpper() — Method in class ArrayHelper
+
ArrayHelper::valueExistsAll() — Method in class ArrayHelper
+
******* 检查 一个或多个值是否全部存在数组中 ******* +有一个不存在即返回 false
ArrayHelper::valueExistsOne() — Method in class ArrayHelper
+
******* 检查 一个或多个值是否存在数组中 ******* +有一个存在就返回 true 都不存在 return false
$FixedArray#valuesProperty in class FixedArray
+
$DataResult#valueProperty in class DataResult
+

W

+
ArrayHelper::where() — Method in class ArrayHelper
+
Filter the array using the given callback.
ArrayHelper::wrap() — Method in class ArrayHelper
+
If the given value is not an array, wrap it in one.
AryBuffer::write() — Method in class AryBuffer
+
File::write() — Method in class File
+
File::writeToFile() — Method in class File
+
Attempts to write $content to the file specified by $handler. $path is used for printing exceptions.
ModifyWatcher::watch() — Method in class ModifyWatcher
+
ModifyWatcher::watchDir() — Method in class ModifyWatcher
+
alias of the watch()
StrBuffer::write() — Method in class StrBuffer
+
StringHelper::wordFormat() — Method in class StringHelper
+
格式化,用空格分隔各个词组
Cli::write() — Method in class Cli
+
write message to console
ProcessUtil::wait() — Method in class ProcessUtil
+
wait child exit.

Z

+
StringHelper::zhSubStr() — Method in class StringHelper
+

_

+
AryBuffer::__construct() — Method in class AryBuffer
+
constructor.
AryBuffer::__toString() — Method in class AryBuffer
+
ActiveData::__construct() — Method in class ActiveData
+
ActiveData constructor.
ActiveData::__isset() — Method in class ActiveData
+
ActiveData::__set() — Method in class ActiveData
+
ActiveData::__get() — Method in class ActiveData
+
Collection::__construct() — Method in class Collection
+
__construct
Collection::__clone() — Method in class Collection
+
Configuration::__construct() — Method in class Configuration
+
__construct
FixedArray::__construct() — Method in class FixedArray
+
FixedArray constructor.
FixedArray::__isset() — Method in class FixedArray
+
FixedArray::__set() — Method in class FixedArray
+
FixedArray::__get() — Method in class FixedArray
+
JsonMessage::__construct() — Method in class JsonMessage
+
JsonMessage constructor.
JsonMessage::__toString() — Method in class JsonMessage
+
JsonMessage::__isset() — Method in class JsonMessage
+
JsonMessage::__set() — Method in class JsonMessage
+
JsonMessage::__get() — Method in class JsonMessage
+
Language::__get() — Method in class Language
+
Allow quick access default file translate by $lang->key, +is equals to $lang->tl('key').
Language::__isset() — Method in class Language
+
Language::__set() — Method in class Language
+
Language::__call() — Method in class Language
+
Allow quick access default file translate by $lang->key(), +is equals to $lang->tl('key').
LiteCollection::__construct() — Method in class LiteCollection
+
Create new collection
SimpleCollection::__construct() — Method in class SimpleCollection
+
Create new collection
SimpleCollection::__destruct() — Method in class SimpleCollection
+
SimpleCollection::__get() — Method in class SimpleCollection
+
SimpleCollection::__set() — Method in class SimpleCollection
+
SimpleCollection::__isset() — Method in class SimpleCollection
+
CallableResolver::__construct() — Method in class CallableResolver
+
Container::__construct() — Method in class Container
+
Container constructor.
Container::__destruct() — Method in class Container
+
Container::__isset() — Method in class Container
+
Container::__set() — Method in class Container
+
Container::__get() — Method in class Container
+
Service::__construct() — Method in class Service
+
Service constructor.
Service::__destruct() — Method in class Service
+
__destruct
JsonParser::__construct() — Method in class JsonParser
+
JsonParser constructor.
MsgPackParser::__construct() — Method in class MsgPackParser
+
class constructor.
SwooleParser::__construct() — Method in class SwooleParser
+
class constructor.
FileFinder::__construct() — Method in class FileFinder
+
ModifyWatcher::__construct() — Method in class ModifyWatcher
+
ModifyWatcher constructor.
PropertyAccessByGetterSetterTrait::__isset() — Method in class PropertyAccessByGetterSetterTrait
+
PropertyAccessByGetterSetterTrait::__unset() — Method in class PropertyAccessByGetterSetterTrait
+
PropertyAccessByGetterSetterTrait::__set() — Method in class PropertyAccessByGetterSetterTrait
+
PropertyAccessByGetterSetterTrait::__get() — Method in class PropertyAccessByGetterSetterTrait
+
StdObjectTrait::__construct() — Method in class StdObjectTrait
+
StdObject constructor.
StdObjectTrait::__call() — Method in class StdObjectTrait
+
StdObjectTrait::__callStatic() — Method in class StdObjectTrait
+
StrBuffer::__construct() — Method in class StrBuffer
+
StrBuffer::__toString() — Method in class StrBuffer
+
AopProxy::__construct() — Method in class AopProxy
+
AopProxy constructor.
DataProxy::__construct() — Method in class DataProxy
+
DataProxy::__call() — Method in class DataProxy
+
DataResult::__construct() — Method in class DataResult
+
DeferredResult constructor.
DeferredCallable::__construct() — Method in class DeferredCallable
+
DeferredMiddleware constructor.
DeferredCallable::__invoke() — Method in class DeferredCallable
+
PhpDotEnv::__construct() — Method in class PhpDotEnv
+
constructor.
Pipeline::__construct() — Method in class Pipeline
+
Pipeline::__invoke() — Method in class Pipeline
+
{@inheritdoc}
AopProxyAwareTrait::__call() — Method in class AopProxyAwareTrait
+
AopProxyAwareTrait::__invoke() — Method in class AopProxyAwareTrait
+
+ + +
+
+ + + diff --git a/classes-docs/master/fonts/glyphicons-halflings-regular.eot b/classes-docs/master/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 zcma%iRa9Lu*X_aGIXLtH2X}XOcXxM};>BGK?k>gMi@Uo+afec%&=$Y_zI(@iAMVRd zMzYtMnVHGh`(bBgBrYld0G2WU0R1n+0{)ZW{#ye8Pyh%N;2)-_`hS4`dHjR_o8s?3 z%Kr!aAA=Sk15gC$0aO9906BmJKn0)-&;Wq`d1e4dfc3v(2XF@106hNnKnJJ;tp3?v z|4=i4`#;17p#2YV|JP~t*4IuDO^FK=e+xx$$?LVd`z~aAr@Bit+ z4B+|46aYB=Q+D{L`5%t;Kdt|aZw_GpXL0?v@B%pgd3^uI=KcSkIq3hHHvk~6A@l#d zDHwovCxFWvz!d;sGQ^&}h@CLq(3!MVaFhSyL!rg*&d8F%X_&hML`QYBTiRZ}i=N8C zfX|m2SCm$2B^?XKJ=3POS}r1sVM9Nj*l5q`5#S% zQ}FD^zy1Pj*xUGOm4;*C;l80oktO?~%SdX8H^8@@idBFWyOINSr_!xo{REWRlXgw| z3-(h5XcHaEdPKzyy2-P+Rljn4lR?IelEOtWLiC?_9FW&x@kpuRtfsn*-QLS4EoN{{q0u8pt_^hD_!V);D{hen z-XpV~5QeQTYTIl1+B^5r72`!7FRQQ$Jh74=Gm*OkaIoNUC7!wk7rRZVuVK6urnp@}QDpB~9*S zkVWg8LyXz8-%53>GXb$%*H0(bqkUIN`Oz8g=bse?bAumC8`5XqA+(_y{fV^j(1$BZ za*@mJ(&?Dl2k;8tW}O6OaavJE|17u#1t>M^0!@SDJc2)cLZL`m7!-)74CQUXoksM* z9m|Sjh}@dm-Tnc8<77&TfjT6H{3)kXMM774`D!eA0|(RuQz@iQO(4-7lX|aK*M`Y=f%R{_&<*A? zB(AZUl6JXgz^9c9q7ZW~Lpncpv1I^6O4mGX@3P^Q)?jBgx(f#RD_4y0q5aC_beGG> zn%RbEy_vdx`sL?|Jvlgyxal-}XM^FDQYp|Euiu=%8o(=wic+XSimJ4(Adn3`QH6^D zQ}H@oBN{|Zg^2u|@8c~h7Kv&HCx??xy^J$3{B0{XnlrThDaoQqjXjXHi#b!KIjA7( z$hT;Ah_VP&j)(Z6&(xn;KF3rHsF^A#il?$)q4Pp#sly?|%OmoRG|MiNW3+)?3Wd9= zgbUjzTLX+!G&oYj9P;jnHmT91qKPzxkj@>rsqi|=M5$PfrRCY%E7${xLDZFtYcC%k zorpLj$T65dN+HV@=yRlKSS8W~SMxFkK1~U-XW2@DXcG`4-V)z|605uD4Q{MP10fD5 zc!T#)n57))zXXfg=dwnZuD_`DCJc3cHE6HuA(>36o_neqgoF0pRK0eEc~{rD8%Pfh z@dtE6ovkazKj3fd{)*&tB0YA^1d^^?2oeNyB7u(P+O4$@lCNc~%mb5iP)dLGM|z;x zEkRYM_^U`g%s5jiH=8Q2h zlS%BdC6DaYEWi0UNhnc*zFT$fV`4_VMNU~nH;q(Ld?!#lIvm)K;W_4C(l3+4TZ=QI zD%siB%cY+Y7vMFM_KAg?sxm(^nJsMIV?v|vAS8l;zotv$#Ml-Y!n7|X5Y5C)=TiGZ zQ+=(9%lk0&L&hDtwRD=Ua6wQeS{g2mvwc>^|4$ot-2Hi`z)|V$N{mNAEZC3gw_8%z zq(L3Bcwr2gin62dXM8cG-D-auD7HayLz zJI2|m=8$F?Ko>v@P4{(W5g=}-b$%tJgfywp`6&A96|Zx{9N;1@_>hto7TQf3EIMm+ zJ`;@@4ycXnHM>|iJ?FXkWGc8YuGviO&L*^ajd+vyLIxAAT{isADQQM5S;YP+jAYp7 z3E1Nm1HDd%SXi``NR*so7XidvRPj#BM7A`S{cU%VISQOhrMLr08;N36AYg9}40Ml# zU)GUxQy(D1%P`@`HDaXn&%m8`hOu~_2a`%P{v7w2;KUNhll)N(y4wD#p#{+($uLOB z!X;K=sci1erRm1=Qcx#ja(r=E8*89RNH8`C7T4|#uVRc=Kaf}0Xw)>8g0(4H!ZrK^ zh-Kf(V#NQcMU79on9bk?`U7eI{Nu-CdboLYH-7lJI|7VCob2872$p->3n)-J>N|b% zIn3vzKet~nvHB=bP6rDRV|&&4LL}S7`iu2ok&r8ecw~yUROul?44VSV3;z7qSQWl+y^cX=$j~OQ;o~0+_)5WDRF0^JbuD_umr4Mn$EPEyB-_eog^1*P#Ui}dCDH6-GndXgi$XV2SNHe#HHQoU z`2f{kT*~Y-Gtyd}I#v=*PbShJzp4hgaK>cr++;2GSGr7^2gA_3H1F;=06B{L4@fTs zD?F!vb_51Hnzb3BJlYiI4qZ5fDt|CaKX-N&2aP_DVX`bH*FN93cV*3fPvociz|dFF zDI@_;;4`*j9yW7pmnXjEwqe@BEQw*5Kcl$=zJxCo$}$5>0aU8*UXir zlo6vuHSn81M=rz-M|tYukSa7I2M$#Q-7`8&2-+UvW25@8gOf1VSR}3RdVFr|-&}4T zky0u`XuQc%0#b=LJWu5hm&cbB$Zk2FeYD~v-Cc92u|%sIUh-65dJR zZ3)g?oGWe-H6(Dl5E)k2)Hal?$9R73FM9`l`qB^<^f4kuce&|T)yCo{^=_a`TY*c$ zRRh_284jJjLoW$Wjv_@n$8LbXuW0pZw;g`-3$XUHD0Me!pbdD8z$3+L^KKYOabFdl zZW8&J8yRWfjLh?e7QJEkgl<&QwDnZ2^WwgBH0{AjxI^@Q)51nlGRVgj8j^jL0%{L5 zg~N&QybX0(ldaaot?}x4%vuVeTbZ96fpg*k(_p?a+IFGn!YUuS;~_Z0CLyGFeQ=ow zhS}^5R4dLfu9Q@MFw7c5_Tg`%mq$XF81YXSFD~rt=E6o|lVBQmHpMG(*<)M(E(4f* zifS(;Yjenr?~y*l>F20zQ%mciliU45f-wznJZdw(tS7t6>004*2#X3Ej3pco3fi`a z?|gM_ckVQxZ*D!nTeU+|gbdPEj(!rKUXu)| zkLqUGanZqn25Ek?PHa9%4W|%Ad_2AJ^C4ZsK(9AW?d?fe_y54j#ceCX7%ZMmS`{x=_0fcCjb0L>U_D>5f4kNy zHQQg5@4aYV)6gpTnv`z06M5a}w7=9Zxp`bcn&i(EOAPWj!?Z(2O?^DESnGfRDGcs1 z?IvJ*{LKonl7#robcFc@OJ<~_Nrt1&v@ePe#wEFKMxfTA!AwJm2~n9HG8Q3?YR-Yz z9Qm3kx|c48;)6Kyoo?<`!|@@xwp~u#ofuQm>ip4bLvO_8W)9{2phqI7{WR9NLgJ5S zHO8hXtJ(CY)mUG&o(gGo!3Qk!=#XUS13O&o{vweBJ4o1y<~#&5^$s69ECV9xM}=+2 z3!NJW8%Q`f_Ja)nexErX5!VB@V=TLVghSEjRt5vdJ8zuRg0R+Y>(Wb*7ED)es#R7< zyyj>az=m}1XQ+E7Z@KG=Cs|{!+EejQ_B-7_Z_Y;kETxVVJOayFzr&scDu#RzsdT7?ZD( zjt$GiPqMQDN##jNA(UuHMgjopqE;pkUTep+3YhG2G!BnK?~X#v(Hh{G+w3pu5aBF+5$)Hq);#9CbG zsE7UhKwvg;w*V(0K7kvgnm5CXt2oMK#y!&dqW6^CO`o-9h;rpe8sX@M7vdNHrSI)y z9KlvS+@+-`CzlS3h}P)VbJn)MN&1rZJDgsR=F2FHZMpd&S1VRKi;7W;=|X`v`iwr; z6={w%x(Bj(^(a<%?7PB*S%}>sft}U!!qdscsQgT@3X5WihmLBxuS7?1$@SvvJ3<<| zt}Y%yqH_W&6!_(na-jr#Zv7W*Cu#c6Hqr$o{eMTHmIWfcuI+rsXc1x$ibc)|lxs`| z^lhQp&^b^BTL(xEI!6k8bxom-D8C}+6_a%`?CYjSuFcEh5J1&Y`Z-6Dj-I`%()n$9 zg*b<&Zs^xdC{p2ab~}fxiuobr7XT7pIefDq+B0S-e*#Ncv}xLJi{{yPWu)?Esyu0; z1qsK_FAEg-C+$p0cp*xgs1s4btkM&3lqqeQRpD2eomd(OP0Q@*e&Xas38amh5^boC zOw$(pnvN$4MdoQ_u*a%EGU#34!L8h;hCq2qu>vma`dr@6OJ$uR*Uy0|v+9(q#{vUE z-6#WJn9K=D1b|=3z9t2tlyis<332BeH7r+zY@~b=^WA5yuvSMiyU=H97SQ7PJ=xDq8^5h@!5s)7NwIC(^9c}UqFKh>XnFPu|+L@P;S z3sSA!`G>+GcF}A^nfl|n_2P=oi#0>A$BphJo^niV$39q>jBn7=yG3jodFC|0-)C$R z@AvsPawzRcdI+N@#+XCUhE-bV6R(fb0#L8<{kZo-bBF0d_eb2=Oq%CRy|M%BGBmTi z*(vF=mDqfB)Ffbr1WObL5rtaXXn7h$vMIMyd!!E!)5Fe{yHa{ZKHpGwQ9J-@cQ$OX z8Bux&6WJ%|zF+jJZ&(g-&u~QV-Y_~q?DJ>#3~9WiBeIU_uh)eb{b{VUn_K9kFfYXL z#W?5L8z;XrA?Kc&ua35Hi_uhWghl9)h*)J}%wG+Xnnp2ZOl*YtK3VQxUMfBM+z>E2 zeI`!tBDijjXYxlLEZu7t_T<~!mR0{o>6W*Ejr z6v8z^G$W!dDq*^y$WbyhI)x}-s>tdk0{-;A z91U?k6Rg*%T*U)Uv_PP_}4jhJ6|~ z)$B}m4(d`YtCBcrVbz?cQGo|NhMK(@OnGsU7OAKgUBJLh?E@OO@sfUG8M``oQbcDgDKEy^t6!AhE@HqgSG<3Q{ND7tH!G1 zQFCZgl=Ykxr~0pdq)`n2y3~Y0cvkO5i!CLTAc68-9cOMi2c29BTcg!W5=XzHR68tT zH%o4w$B?>YF0Aq0w*Q@DIf|UyjajcxO2`!Av{p;s2#z_Xfp*{$2fM>65~br|rCyhX zcrN@r4!w~3imlj-eew7qq8d&vtYnSAT9&|&Y&=~}zF5=-5at@Gr1s6~`eBk{nJh+@ z#(=xEI>c6xXU(ucS*a_!ww@WYvo?~@3dBjqAUH~h9mW5q!R#);8l%8+oJnb+-ydqv)LHQJSgY=p%{@~Fk(V6=o{<5fV>)fPWOyXSo|G?G=*~> z?z><)(Ss@lE|vU-2vhORxCM>@LEx4O{!kmzI5 zFUOuOX^BHASj%#FATqS(FnqPTp^|Sq;eg3wKvIzUJ%FNpoCY`^OPv(^>&j{V#RFzE z@3Y)bA(4m_iaS`J&gG(v^)Jth;W$iESCeCBA1#B(N63V{dggoJ%RQn}c>a@^%gazJ zI$Shg5yVpcpnJOOWY^dBUI=3iC>#a1p2NQs|b zgZHukR9HwV8Sgp{#+jN7ZB3DI6~hIHv@&% z=$?K2gzM;xC?K<9N0|-BMSk4bLI)uB*!ugfY0qP3R%y5O?&{Xfzojfbw?zj^P+_;e zRVm>&GsN)=HBH+0BHxJo&ckuL8w0=_w~q6R{ghxeMmsDh;9@n%VFE`Zx%pQglC=A4 zmJFxIgNwqP)8^b#RwBGP+eI;wi}{^pYMTtQ4h21k5DL#G?TZ4VCjrqHlXx z5GWyy1)M+9Im*H1Nb!*p1miCdMHEs>^!0KnPX60;FztLJwN}7vh;E>|7i^aSKwZPp zbmc@;Z{n(|)caxrl1Z94YDTS$mif`TC>B#m4S#$l?uReS>1@v!TRjv$vg^osFiop z3Ec1yBx|_DM8|$B+gdt2+Wo8>VSiOZMk{KxbsETEqXrMe43bz3J;k2|bk1|VfW}}N ziBRxsE0VSSOf}i%^gY0FFMldwBHt78EjW?Hs`TiH)s0WX#E(VMU>!x(pRNEl0?(%d z(09!|c3J9g+xi&)MKNr%Lz~VacC(%gKWoY@ID6_>a>(E=mVmuqrKtH5d$d}xX&NeD z5RiuBXo9`O{xL>+V-49mRc(3kT+>qNP814Xc&F=6k?M%@t6NOb@@_X`d3htI>|zGN z&z3d$7^TV;cV+eyHCzB+pyNz1atbYX3gZfiSjHB<0Ehv&M)7xxzlJu32@Iosx5?qd z-7Ka#WS9+1pr}6b%d2z-ZT+Fzpf`63fy)jTb-|y39hX-WFKTi7kn^+4(;QJI%l!pK ze2L!7r+ad0PfD2bsar6XgD>XWJxwwoHCORf9r0VEIM_qM zCzw=0@8aB8TV{tjzE5zvR&0MR>so`xq~rHSLBuI)mS!Dh1{CI~)~Nb^?^R@Gb*0A1 z=&MnM%PG*qmrKBjp8ZIYS@DFDNwe5Ww=2e65vs{7e0?Ou*xB{?A9P$i{y zM|4xJ3)%!G%8d{u-AC5&>)0?3EeMgln4Yut1`I~s-Cl*~G*Ri1k>5}JY295;&pq@- z#Lm^4Hp$Vz)X?2y^sW@;*ClyG-%gBU|LBB2+bG$zX%YcrI$cSa$$Sdz2EBDDiX$!I z{_-)%I3e)hC3KOBqNUpTOsPtReVV3GD|?sDzlEY;lsV>UYEWf_58h)t*RN0JkrGu0p9p8L{s_RPwvTR zXR9)eJN*RNMO^RZbZOXGNdieWgVSs&xvqTIv}1x>vCDtEk6_WWAVXu?Nu7sREv!;U zh%KMgdA}u72`Xz6{1nx8ud@3we5$9_>x#f2Ci}@h{1$Fh&}3CiF{d z+}gjEHbU-5+06vi&lbqcVU4dKyM_2lgko*2LU$@58M9ER0>@8%8{Q`H zM^pmfKp*!)YkLi|P(GT%H`-^=EmrEUhQ4I?ux{(gb8Cfs3Y;=$r!4-O%2yn10(6sR zU6xmo^&_$SnfCEbTemLPST3#%z3J!5Y}po{ihZicg?6_ADfUcz?o1} zmJxCzhnNT~o!=vhmRTEXGQ4OT$Zvhr5{5Midj2y-p}oGVqRFwQiNxp#2-*sjF6fsF zV6XhhsSL>wR!QmL`QcBPeEpof>)1LNkZE`AL+G5)@6qC>qR! z8+){akxki?kaFfX6i}pXp_`Xlck94~S-?9*q=QqL2z=I4B@Zvi@4?yJho3QIdNI8l z#4QKGd<)2;6Vy;X#e*x_gP*hHWyFFgqukOJH7ndQUKry!7s+}S>|FP?VT3DlK1qQQ zk=oA%rP%@u3Q)BH2;)Li&oL3#M*r$!{Ih zASM=(#VCobo1BhR#*@dO*~PX)#gN9<0l;rNRKG4|p!^Nocw@Iy>-~ZJ?0T#CqSxD+ zevj?m@H}89TT2L<6HsC#BB(?}DykVK9k*1%F~}N9y4KadeB)RvJq;@3pmQntjRuyp zd+bH2w#~~?gnNl>cBMwx5@vUCsl~4k*^~r4aR!EORAjW02r1eGW<}-vIl3BCwVUEw zh(xbpj>h?!;M4gDxV}8^il-Ur;r34S_`LeD#vXa-JKk@`B;%!=m}ILfo6GCRP-vnwGMvS1TCwL(fwPc-To}O1cyV3K?4x z{_{-2*jZ}zOd{hm(Z%1afi9LPcXUtDSf?C9Eh3I80lt-6uc=&~q`FuW) zKHDvFXfegSj8LcxD#zUuFPYuggI{ZvI5 zj|TJPpX&$cTSpufZ23uYl>m#4Uva-%N<10wTI1Mav~)-=p+fo(j6RRxz{*!Z9U-)C z9>Fg)gf&-?LrVVy@(_wx>%nb~#fWvMjZ~3snIE4PjYc%6*#^HD>*h`@M=No(8gEO?tGG;DGL! zIknN6VVIpLepd7%^9kPQ=@m~$#G`d&22uBd7N`xiP7nd~8%zL8zY7$6HJXuC?e(YU zo|ZhfFlXWkh}8`aNOTEuicNS}80_)bI`FU)e}Gw)H(>SGZcAB2IjJ%f(xjS0D3g$f zpKWvE6C}I95gE5ucsGJw!I(^u@Qq2m!}b62JC2|pO%)yPHM(i^a4hL6s!^uhSYDQ( zs6-SU+3-3w$KoVN{lR=H^hVSP#EnRfCNooS9%oP_bri+sHqLwpN!J;gB#HbCT*wP$kPMWfp>3s$!F>BG0nI}(tOBcS z`;|a~gZLF43#h#S#h9K-xNW62tdPsD6m#K0iM?V&GbYaL+Tv1R7X)gj~#SmUb78qLnlqoP^ zSe`gkIP@zojM0&GO=h@|U1Brj_A5+?CK^Vl?qgjE)=Mo|Man|gckYv`pkbSNoKK!l zI{10#kbR9{p%uRJ4wx<2MtMI>or0N#cP<&(WR_(NRzrNObQ6E4VtUzc?fH?Q`SmTe ze9vOyJ~XZ1o3+9UPw0YlgJEIwL%gBxaQO=tjEqDxu@8q>P<_RrX#GyAh7*w=e!%zM zvmm+X4>-{%3kZ>L>`>A9e(Oe^W8*8imEKjvrX~B9Z?mF4pdgAW0GcqQ8K?PWbOtli z6v1wXRcjUM?UkNSiRv~-lG&n=6 z$-Xti>!AZ`H4B7vrP6?>0{7UrywB2v>KcE_pW4LIO&E1X8z-=JL#R3C|YNnMkc!*60bMHvnH<`ilEG%{J&Fe*%+ zjTZG$y6;1$L>`qR_sp}wV!83lNr^{s08V1fY$}RtDBk_ zY{PKqIRP(E+njlJ>;-Ne9DTE9Yc-7W#!7e7F3YVtOg2yK#&M<)w#4K*c(bn^FnHGi zOO53p1ce|18`isRiPy2)Cp&cXWCMewS7U(<3?fr$6<2fP(VAkoOk?Mn;n6cy6eoEN zcTNR*-IloNR3v5#qTkK~&Q92!hff@mt5?U>fQ)(sn9?kZ zoELH=@&o-m=!`QtVP*4!Zq3MI*C)c*169O@A6{Sw1BrU77bX<7)o+B=OKOT3M_qUu z)G%1v*Dw$3!{WTWe}2o~d*W7}{itvohqK!zI4HNk!NALAmrWckmSUmNsWC3}z589I z?(Ph?T0sx*T5P5eOv%MYbRzUJ)6Kn!@@StdaavA^up>Bu#v(VH%nlM5iNgY!YUrMi ze_F{-tA~K?Z+>D_Z`ea`+x(I5S4rc!$&2G#xZi5!P+od8TU36$-U+2lUz(G)^M=`)XHCub}p+?s<^N%UM4vVLX!W z3!0^;2XT5crok6h1={vUZ6hmQ4N20z`>5mfN}W4i2ah$KgcnPPpEs_(#;Q{)27f<( z*y2iflq`qB-OJXu(8w@R=)->-a6|4bNxNMnft?20HkuCy$6$L09kd)G)W4O=9BM|{ z0njynOnyNaTVrFARb&?Wz)KO0c=aeIrmJGdj2T21U*d{=r&%WGB_fB}!Crdq%$!h6 zTYHZU91PZ_u6~E*gTy3XA#JV7W1QF6sjN;@hLE{nCX07QHTpvH15PaG$-!bfNO#d# zLz-yQ&tSY!D@K{1sPCqy(XopWKKD^Su(X0yAdtrAPbwvb;0KzwfBiTWK|Q z=@~d0^<3M_hSR&Ce?AW}16N8iRRYrnJD8B8G!k~7@GQoI<#32mT-zRtY2CpF2f(XA zMU6CkH@0EN1UN@jBxhBao0Y7;t{jc1e4a+0fB6N7b2yPo(8A@@2haBnasAf%nJCjH zql`!qJ9zbokA$A+Li$D^=r%*k928%W0a#oK{oyi-%i#({q!i0)WJ1(aFJgY*$gn{8I=(Ww04qI1{H zye0i*Mr`~uq|h*1yj(Kb6ltw^K@0am&(EmI`#hR*0ct8#{B~3BSz88+3Bzg4k81*^8%KE#*02QR*UK z2M-^JFu#z+ux)Gj9-Ypn7I{$oQ)oL1`l&|nToNk4Tamb^hRS)nuoZIEjHOtFqfhay zZUTan1jXVWhNrTYA$UlLl2*5w4DdkB`Zffs@;~cY=26uyjz?2T9bVi&2sRpcJQEc} zswq*+P- zDN^CmeDw%s_1+%}Im49+!#OjZ;j(Q*hfk#Bm}vcixtLUk-l>q@`BV7ppOrG2W#Z%& zW()~2c*wbgWlG&}uVkUND;LEy@?#C{}77N~WYzz)?Az@B@SyxF&QfwgRVOOn%0aye75&&}>S zzXc$D2{D5sKzp?kZ^aDn`*nF+3|f|e(o$M#yR)s_4THwu&3vi*JPwOBR)%9|cQ^)g z4XHCFEsKY{w1K@z=AIAvPKl3~tb_^UIhBwmBDl`00~fq=Sz&xh<>PA2hJCH!hGwUW zSgtprf2*L$jmE;I<{4F(Ggnc%YAXfr=SqhudnSKgbgU~un2Z{YIR{ZU&6?3OUcSLAaY@eW`eEgpt7 zlUlHem*R=;T?P@87+ei=K*i)c(`M7rgYp~;1v3UAroT0zo2b1J>$(E72e7wJRJ^j+ zfwa{lP}teWV2Cat(t`GRp|FvPh+q_fqDrDbm_Mgv ze11tcDh~Zxw+#nx2(x{He?+>B8}7!V`sarmVDe6{$$s5`AD)NF!*)Lkxhe86X@8YJ zUKj5XynC5Tkh`933miE2XeIrq#2DMX^k7QLZ zL|1DDSCs` zP~b8wgEc_AKuOkS68=kJJcC!LEhv(jc*PJc+JDJEZntc9XnDeon^R1KS8VypEKVS=!F?4_G(KTNE3yww1& z<<4Fsm#(W&-EE|$ep#8R2{KX@^9n+)nbR_CuKu2`y-?j&_Et#qL+_J4;tN=2WAJ?_ z>GAwa1Ld2`rz_J{-N+hUE`7D?$vACB{U+#Df4rK7HY2#|H7ad3`gquCdhAM5`64&^ zml&N+{;t8*A@sURFNd(28=x_y`ZPiZmZ*JTwE@14fXfD|h6GL5)jmGBn&D0L=Vf@m zCfsvhVa?!2*QXbkyXRHMlvIPVI=myUYfFf`Kvx;HNNg+~nfLnniq{U32A~2`%1Vz|wmTEs2e$)WSRz z)ul1TY;;WAQl)z-Kdg2cN`8In{^lIY0O)kQ^I2SoQWf~F>*MJp!pVm!TB9y-tC8z^ zo;bCQ?{j%6p6`I;Hk8t!SYr(BA&>}DrGxg2UYggV|Zk#`Og7%@FQAPviijGoxn3uBn010T08 zQ!nFZtP~|hjSMd!(1+p*Ez!^!t-}`5!O{-R&*GB$6p41JkhO#U#f{uNj#66xGL$#dz~=tSkpT%4i1 zgjkQKiEant8(H)O7-+8ZSoA)7^JvjbKP-NF5#si838FETR9 z{>F}aEty|AxCF?_9K2a!PCD&{mLIaLn~rY9PkVlT{$&jW-^9L(DZPjb!3!(?6gP

!oRptb@n+ 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 literal 0 HcmV?d00001 diff --git a/classes-docs/master/fonts/glyphicons-halflings-regular.svg b/classes-docs/master/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..25691af --- /dev/null +++ b/classes-docs/master/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/classes-docs/master/fonts/glyphicons-halflings-regular.ttf b/classes-docs/master/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 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

PBK;&Wcg|NX{>QR@W3{K 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 literal 0 HcmV?d00001 diff --git a/classes-docs/master/fonts/glyphicons-halflings-regular.woff b/classes-docs/master/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 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 mX4Rts + + + + + Namespaces | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +

+
+
+ +
+ + +
+
+ +
+ +
+ +
+ + + diff --git a/classes-docs/master/interfaces.html b/classes-docs/master/interfaces.html new file mode 100644 index 0000000..a841e0d --- /dev/null +++ b/classes-docs/master/interfaces.html @@ -0,0 +1,110 @@ + + + + + + Interfaces | Php Toolkit Classes Documentation + + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+
+ +
+ +
+
+ + +
+ + + +
+
+ +
+ Collection Interface +
+
+
+ +
+ Interface InterfaceServiceProvider +
+
+
+ +
+ Interface ParserInterface +
+
+
+
+ + +
+
+ + + diff --git a/classes-docs/master/js/bootstrap.min.js b/classes-docs/master/js/bootstrap.min.js new file mode 100644 index 0000000..051dd94 --- /dev/null +++ b/classes-docs/master/js/bootstrap.min.js @@ -0,0 +1,12 @@ +/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=cb5a84c449e8302c563e) + * Config saved to config.json and https://gist.github.com/cb5a84c449e8302c563e + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var i=t(this),s=i.data("bs.alert");s||i.data("bs.alert",s=new o(this)),"string"==typeof e&&s[e].call(i)})}var i='[data-dismiss="alert"]',o=function(e){t(e).on("click",i,this.close)};o.VERSION="3.3.1",o.TRANSITION_DURATION=150,o.prototype.close=function(e){function i(){a.detach().trigger("closed.bs.alert").remove()}var s=t(this),n=s.attr("data-target");n||(n=s.attr("href"),n=n&&n.replace(/.*(?=#[^\s]*$)/,""));var a=t(n);e&&e.preventDefault(),a.length||(a=s.closest(".alert")),a.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(a.removeClass("in"),t.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",i).emulateTransitionEnd(o.TRANSITION_DURATION):i())};var s=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=o,t.fn.alert.noConflict=function(){return t.fn.alert=s,this},t(document).on("click.bs.alert.data-api",i,o.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),s=o.data("bs.button"),n="object"==typeof e&&e;s||o.data("bs.button",s=new i(this,n)),"toggle"==e?s.toggle():e&&s.setState(e)})}var i=function(e,o){this.$element=t(e),this.options=t.extend({},i.DEFAULTS,o),this.isLoading=!1};i.VERSION="3.3.1",i.DEFAULTS={loadingText:"loading..."},i.prototype.setState=function(e){var i="disabled",o=this.$element,s=o.is("input")?"val":"html",n=o.data();e+="Text",null==n.resetText&&o.data("resetText",o[s]()),setTimeout(t.proxy(function(){o[s](null==n[e]?this.options[e]:n[e]),"loadingText"==e?(this.isLoading=!0,o.addClass(i).attr(i,i)):this.isLoading&&(this.isLoading=!1,o.removeClass(i).removeAttr(i))},this),0)},i.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")&&(i.prop("checked")&&this.$element.hasClass("active")?t=!1:e.find(".active").removeClass("active")),t&&i.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));t&&this.$element.toggleClass("active")};var o=t.fn.button;t.fn.button=e,t.fn.button.Constructor=i,t.fn.button.noConflict=function(){return t.fn.button=o,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(i){var o=t(i.target);o.hasClass("btn")||(o=o.closest(".btn")),e.call(o,"toggle"),i.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),s=o.data("bs.carousel"),n=t.extend({},i.DEFAULTS,o.data(),"object"==typeof e&&e),a="string"==typeof e?e:n.slide;s||o.data("bs.carousel",s=new i(this,n)),"number"==typeof e?s.to(e):a?s[a]():n.interval&&s.pause().cycle()})}var i=function(e,i){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=i,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};i.VERSION="3.3.1",i.TRANSITION_DURATION=600,i.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},i.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},i.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},i.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},i.prototype.getItemForDirection=function(t,e){var i="prev"==t?-1:1,o=this.getItemIndex(e),s=(o+i)%this.$items.length;return this.$items.eq(s)},i.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));return t>this.$items.length-1||0>t?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",this.$items.eq(t))},i.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},i.prototype.next=function(){return this.sliding?void 0:this.slide("next")},i.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},i.prototype.slide=function(e,o){var s=this.$element.find(".item.active"),n=o||this.getItemForDirection(e,s),a=this.interval,r="next"==e?"left":"right",l="next"==e?"first":"last",h=this;if(!n.length){if(!this.options.wrap)return;n=this.$element.find(".item")[l]()}if(n.hasClass("active"))return this.sliding=!1;var d=n[0],p=t.Event("slide.bs.carousel",{relatedTarget:d,direction:r});if(this.$element.trigger(p),!p.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var c=t(this.$indicators.children()[this.getItemIndex(n)]);c&&c.addClass("active")}var f=t.Event("slid.bs.carousel",{relatedTarget:d,direction:r});return t.support.transition&&this.$element.hasClass("slide")?(n.addClass(e),n[0].offsetWidth,s.addClass(r),n.addClass(r),s.one("bsTransitionEnd",function(){n.removeClass([e,r].join(" ")).addClass("active"),s.removeClass(["active",r].join(" ")),h.sliding=!1,setTimeout(function(){h.$element.trigger(f)},0)}).emulateTransitionEnd(i.TRANSITION_DURATION)):(s.removeClass("active"),n.addClass("active"),this.sliding=!1,this.$element.trigger(f)),a&&this.cycle(),this}};var o=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=i,t.fn.carousel.noConflict=function(){return t.fn.carousel=o,this};var s=function(i){var o,s=t(this),n=t(s.attr("data-target")||(o=s.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,""));if(n.hasClass("carousel")){var a=t.extend({},n.data(),s.data()),r=s.attr("data-slide-to");r&&(a.interval=!1),e.call(n,a),r&&n.data("bs.carousel").to(r),i.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",s).on("click.bs.carousel.data-api","[data-slide-to]",s),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var i=t(this);e.call(i,i.data())})})}(jQuery),+function(t){"use strict";function e(e){e&&3===e.which||(t(s).remove(),t(n).each(function(){var o=t(this),s=i(o),n={relatedTarget:this};s.hasClass("open")&&(s.trigger(e=t.Event("hide.bs.dropdown",n)),e.isDefaultPrevented()||(o.attr("aria-expanded","false"),s.removeClass("open").trigger("hidden.bs.dropdown",n)))}))}function i(e){var i=e.attr("data-target");i||(i=e.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,""));var o=i&&t(i);return o&&o.length?o:e.parent()}function o(e){return this.each(function(){var i=t(this),o=i.data("bs.dropdown");o||i.data("bs.dropdown",o=new a(this)),"string"==typeof e&&o[e].call(i)})}var s=".dropdown-backdrop",n='[data-toggle="dropdown"]',a=function(e){t(e).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.1",a.prototype.toggle=function(o){var s=t(this);if(!s.is(".disabled, :disabled")){var n=i(s),a=n.hasClass("open");if(e(),!a){"ontouchstart"in document.documentElement&&!n.closest(".navbar-nav").length&&t('