axy/evil

必要的恶

0.1.0 2015-11-10 11:05 UTC

This package is auto-updated.

Last update: 2024-09-08 01:47:38 UTC


README

Latest Stable Version Minimum PHP Version Build Status Coverage Status License

  • 该库不需要任何依赖。
  • 在 PHP 5.4+、PHP 7、HHVM(Linux上)、PHP 5.5(Windows上)进行测试。
  • 安装: composer require axy/evil
  • 许可证: MIT

文档

某些语言特性不推荐频繁使用。例如 eval()exit、全局变量、直接访问超级全局数组。

但有时这是必要的。如果您使用静态代码分析器,它会抱怨。我们不得不压制这些消息。

/** @SuppressWarnings(PHPMD.Superglobals) */
$x = $_POST['x'];

此库封装了“邪恶”功能。您只需调用方法即可免除任何罪责。

API

类位于命名空间 axy\evil 中。

邪恶

它包含了对“邪恶”函数的调用。因此,如何 exitecho 等关键字方法具有其他名称。

eval - execCode
Evil::execCode('2 + 2'); // 4
exit - stop
Evil::stop(); // exit
Evil::stop(5); // exit with code 5
breakpoint()
breakpoint(mixed $message [, bool $line [, bool $file [, int $status]);

显示调试信息并终止当前脚本(状态来自 $status)。

如果 $message 不是一个标量,则使用 print_r()

如果指定了 $line:显示断点的行号。对于 $file 显示文件名。

Evil::breakpoint('point'); // point
Evil::breakpoint('point', true); // 15: point
Evil::breakpoint('point', true, true); // /path/to/script.php:15: point

在 CLI 模式下,$message 完成新行。在 HTTP 模式下,$message 被括在 <pre> 中。

echo - out
Evil::out($message);

将字符串发送到 stdout 流。

超级全局变量

axy\evil\Superglobals 的静态方法

  • getSERVER()
  • getGET()
  • getPOST()
  • getREQUEST()
  • getCOOKIE()
  • getFILES()
  • getSESSION()
  • getENV()

返回相应的超级全局变量数组。数据通过引用返回。

$session = Superglobals::getSESSION();
$session['var'] = 'value'; // no effect

$session = &Supeglobals::getSESSION();
$session['var'] = 'value'; // success

全局变量

静态方法

  • getGLOBALS(): 通过引用返回 $_GLOBALS
  • get($name [, $default]): 返回全局变量的值(如果变量未找到,则返回 $default
  • set($name, $value): 设置
  • remove($name): 删除