compat.php.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 133 行

SVN-BASE
133
字号
<?php// +----------------------------------------------------------------------+// | PHP Version 4                                                        |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2004 The PHP Group                                |// +----------------------------------------------------------------------+// | This source file is subject to version 3.0 of the PHP license,       |// | that is bundled with this package in the file LICENSE, and is        |// | available at through the world-wide-web at                           |// | http://www.php.net/license/3_0.txt.                                  |// | If you did not receive a copy of the PHP license and are unable to   |// | obtain it through the world-wide-web, please send a note to          |// | license@php.net so we can mail you a copy immediately.               |// +----------------------------------------------------------------------+// | Authors: Aidan Lister <aidan@php.net>                                |// +----------------------------------------------------------------------+//// $Id$/** * Provides missing functionality in the form of constants and functions *   for older versions of PHP * * Optionally, you may simply include the file. *   e.g. require_once 'PHP/Compat/Function/scandir.php'; * * @category    PHP * @package     PHP_Compat * @version     $Revision$ * @author      Aidan Lister <aidan@php.net> * @static */class PHP_Compat{    /**     * Load a function, or array of functions     *     * @param   string|array    $function The function or functions to load     * @return  bool|array      TRUE if loaded, FALSE if not     */    function loadFunction($function)    {        // Recursiveness        if (is_array($function)) {            $res = array();            foreach ($function as $singlefunc) {                $res[$singlefunc] = PHP_Compat::loadFunction($singlefunc);            }            return $res;        }        // Load function        if (!function_exists($function)) {            $file = sprintf('PHP/Compat/Function/%s.php', $function);            if ((@include_once $file) !== false) {                return true;            }        }        return false;    }    /**     * Load a constant, or array of constants     *     * @param   string|array    $constant The constant or constants to load     * @return  bool|array      TRUE if loaded, FALSE if not     */    function loadConstant($constant)    {        // Recursiveness        if (is_array($constant)) {            $res = array();            foreach ($constant as $singleconst) {                $res[$singleconst] = PHP_Compat::loadConstant($singleconst);            }            return $res;        }        // Load constant        $file = sprintf('PHP/Compat/Constant/%s.php', $constant);        if ((@include_once $file) !== false) {            return true;        }        return false;    }    /**     * Load components for a PHP version     *     * @param   string      $version    PHP Version to load     * @return  array       An associative array of component names loaded     */    function loadVersion($version = null)    {        // Include list of components        require 'PHP/Compat/Components.php';        // Include version_compare to work with older versions        PHP_Compat::loadFunction('version_compare');        // Init        $phpversion = phpversion();        $methods = array(            'function' => 'loadFunction',            'constant' => 'loadConstant');        $res = array();        // Iterate each component        foreach ($components as $type => $slice) {            foreach ($slice as $component => $compversion) {                if (($version === null &&                        1 === version_compare($compversion, $phpversion)) ||    // C > PHP                       (0 === version_compare($compversion, $version) ||        // C = S                        1 === version_compare($compversion, $phpversion))) {    // C > PHP                                        $res[$type][$component] =                        call_user_func(array('PHP_Compat', $methods[$type]), $component);                }            }        }        return $res;    }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?