代码分析php
final class Flash {
<code>const FLASHES_KEY = '_flashes';private static $flashes = null;</code>
private function __construct() {
}
<code>public static function hasFlashes() { self::initFlashes(); return count(self::$flashes) > 0;}public static function addFlash($message) { if (!strlen(trim($message))) { throw new Exception('Cannot insert empty flash message.'); } self::initFlashes(); self::$flashes[] = $message;}public static function getFlashes() { self::initFlashes(); $copy = self::$flashes; self::$flashes = array(); return $copy;}private static function initFlashes() { if (self::$flashes !== null) { return; } if (!array_key_exists(self::FLASHES_KEY, $_SESSION)) { $_SESSION[self::FLASHES_KEY] = array(); } self::$flashes = &$_SESSION[self::FLASHES_KEY];}</code>
}
?>