gamernetwork / yolk-core
玩家网络PHP框架核心
Requires
- php: >=5.4.0
- gamernetwork/yolk-contracts: 1.*
Requires (Dev)
- phpunit/phpunit: 4.*
- sami/sami: 3.*
This package is not auto-updated.
Last update: 2024-09-24 04:00:26 UTC
README
想为玩家网络工作吗? 我们正在招聘!
Yolk Core
玩家网络PHP框架的轻量级核心。提供错误和异常处理以及常用的辅助函数。
要求
此库需要PHP 5.4或更高版本以及Yolk Contracts包(gamernetwork/yolk-contracts
)。
安装
可以通过Composer安装和自动加载,名称为gamernetwork/yolk-core
。
或者,下载一个版本或克隆此存储库,并将\yolk
命名空间添加到自动加载器中。
许可
Yolk Core是开源软件,使用MIT许可证。
快速开始
Yolk Core为代码块提供基本的异常和错误处理包装,无论是命令行脚本、完整的Web应用还是简单的函数。
使用Yolk运行代码,就像调用带有callable
参数的静态run()
方法一样简单。
use yolk\Yolk; // Using a closure Yolk::run(function() { echo "Hello World"; }); // Using a function name function hello() { echo "Hello World"; } Yolk::run('hello'); // Using an object... class Foo { public static function hello() { echo "Hello World"; } public function helloWorld() { echo "Hello World"; } public function __invoke() { $this->helloWorld(); } } // ...static callback Yolk::run(['Foo', 'hello']); // ...instance callback $o = new Foo(); Yolk::run([$o, 'hello']); // ...invokable object Yolk::run($o);
错误和异常处理
Yolk Core提供默认的错误和异常处理器
- 错误被转换为ErrorExceptions()并传递给异常处理器。
- 异常会导致显示错误页面(对于Web脚本)或异常被输出到stdout(对于CLI脚本)
您可以通过传递给适当方法的调用可调用来覆盖默认处理器
use yolk\Yolk; Yolk::setErrorHandler($callback); Yolk::setExceptionHandler($callback);
调试标志
Yolk提供通过以下方式访问的调试标志
use yolk\Yolk; // enabled/disable debug flag Yolk::setDebug(true); // Return current setting of debug flag Yolk::isDebug();
调试标志的使用几乎完全留给客户端。框架内的唯一用途是
- 确定是否显示详细错误页面(如果设置了调试标志)或简单静态错误页面
- 如果未设置调试标志,则忽略对
d()
和dd()
丢弃函数的调用
默认简单静态错误页面可以被覆盖:通过传递路径和文件名到
use yolk\Yolk; Yolk::setErrorPage($path_to_file);
变量丢弃
Yolk提供了一个增强的var_dump()
实现,可以将详细变量信息以纯文本、HTML或终端(CLI)格式输出。
use yolk\Yolk; /** * $var - any variable or constant * $format - one of null, Yolk::DUMP_TEXT, Yolk::DUMP_HTML, Yolk::DUMP_TERMINAL */ Yolk::dump($var, $format = null);
如果没有指定格式或为null,则Yolk将自动检测适当的输出 - DUMP_TERMINAL
将在CLI环境中使用,而DUMP_HTML
将在Web环境中使用。
Yolk还将定义两个用于访问变量丢弃功能的快捷函数
d()
- 对每个传递的参数调用Yolk::dump()
dd()
- 与d()
相同,但在参数被丢弃后将调用die()
如果未设置调试标志,则这些快捷方法不做任何事情。
辅助函数
Yolk提供各种辅助函数,并且可以轻松添加更多。辅助函数作为静态类方法实现,并可通过传递类名到Yolk::registerHelper()
方法(注册所有公共静态方法)或传递类和方法名到Yolk::addHelperMethod()
(注册单个方法)进行注册。一旦注册,辅助函数可以通过对Yolk
的静态方法调用进行调用。
use yolk\Yolk; class MyHelper { public static function foo() { echo 'foo'; } public static function bar() { echo 'bar'; } } Yolk::registerHelper('\\MyHelper'); Yolk::foo(); Yolk::bar();
通用辅助函数
isCLI()
- 确定脚本是否在CLI环境中运行
数组辅助函数
uniqueIntegers()
- 返回一个唯一的整数数组isTraversable()
- 确定变量是否可以使用foreach
迭代isAssoc()
- 确定数组是否为关联数组filterObjects()
- 过滤数组以得到特定类的实例get()
- 从数组、对象中返回一个项目,如果项目不存在则返回默认值getNullItems()
- 过滤数组以得到空值的项目pluck()
- 从对象数组中提取单个字段sum()
- 计算数组中指定项目的总和min()
- 计算数组中指定项目的最小值max()
- 计算数组中指定项目的最大值implodeAssoc()
- 将关联数组展开为键/值对的数组makeComparer()
- 创建用于排序多维数组的比较函数
日期/时间助手
makeTimestamp
- 将值转换为时间戳seconds()
- 将包含一个或多个小时、分钟和秒的字符串表示转换为总秒数
字符串助手
-
parseURL()
- 将URL解析为组件数组 -
randomHex()
- 生成指定长度的随机十六进制字符串 -
randomString()
- 生成指定长度的随机字符串 -
uncamelise()
- 将驼峰式字符串转换为带有下划线的小写形式 -
slugify()
- 将字符串转换为适合URL的格式 -
removeAccents()
- 将带重音的字符转换为它们的普通对应字符 -
latin1()
- 将UTF-8字符串转换为Latin1 (ISO-8859-1) -
utf8()
- 将Latin1 (ISO-8859-1)转换为UTF-8 -
ordinal()
- 返回数字的序数后缀(st, nd, rd, th) -
sizeFormat()
- 将字节数转换为使用最大合适单位的人性化字符串 -
xssClean()
- 从字符串中删除XSS漏洞 -
stripControlChars()
- 从字符串中删除控制字符
变形助手
pluralise()
- 确定单词的复数形式(仅限英语)singularise()
- 确定单词的单数形式(仅限英语)