[ Index ] |
|
Code source de GeekLog 1.4.1 |
1 <?php 2 // +----------------------------------------------------------------------+ 3 // | PHP Version 4 | 4 // +----------------------------------------------------------------------+ 5 // | Copyright (c) 1997-2004 The PHP Group | 6 // +----------------------------------------------------------------------+ 7 // | This source file is subject to version 3.0 of the PHP license, | 8 // | that is bundled with this package in the file LICENSE, and is | 9 // | available at through the world-wide-web at | 10 // | http://www.php.net/license/3_0.txt. | 11 // | If you did not receive a copy of the PHP license and are unable to | 12 // | obtain it through the world-wide-web, please send a note to | 13 // | license@php.net so we can mail you a copy immediately. | 14 // +----------------------------------------------------------------------+ 15 // | Authors: Aidan Lister <aidan@php.net> | 16 // +----------------------------------------------------------------------+ 17 // 18 // $Id: Compat.php,v 1.19 2005/05/10 12:05:36 aidan Exp $ 19 20 21 /** 22 * Provides missing functionality in the form of constants and functions 23 * for older versions of PHP 24 * 25 * Optionally, you may simply include the file. 26 * e.g. require_once 'PHP/Compat/Function/scandir.php'; 27 * 28 * @category PHP 29 * @package PHP_Compat 30 * @version $Revision: 1.19 $ 31 * @author Aidan Lister <aidan@php.net> 32 * @static 33 */ 34 class PHP_Compat 35 { 36 /** 37 * Load a function, or array of functions 38 * 39 * @param string|array $function The function or functions to load 40 * @return bool|array TRUE if loaded, FALSE if not 41 */ 42 function loadFunction($function) 43 { 44 // Recursiveness 45 if (is_array($function)) { 46 $res = array(); 47 foreach ($function as $singlefunc) { 48 $res[$singlefunc] = PHP_Compat::loadFunction($singlefunc); 49 } 50 51 return $res; 52 } 53 54 // Load function 55 if (!function_exists($function)) { 56 $file = sprintf('PHP/Compat/Function/%s.php', $function); 57 if ((@include_once $file) !== false) { 58 return true; 59 } 60 } 61 62 return false; 63 } 64 65 66 /** 67 * Load a constant, or array of constants 68 * 69 * @param string|array $constant The constant or constants to load 70 * @return bool|array TRUE if loaded, FALSE if not 71 */ 72 function loadConstant($constant) 73 { 74 // Recursiveness 75 if (is_array($constant)) { 76 $res = array(); 77 foreach ($constant as $singleconst) { 78 $res[$singleconst] = PHP_Compat::loadConstant($singleconst); 79 } 80 81 return $res; 82 } 83 84 // Load constant 85 $file = sprintf('PHP/Compat/Constant/%s.php', $constant); 86 if ((@include_once $file) !== false) { 87 return true; 88 } 89 90 return false; 91 } 92 93 94 /** 95 * Load components for a PHP version 96 * 97 * @param string $version PHP Version to load 98 * @return array An associative array of component names loaded 99 */ 100 function loadVersion($version = null) 101 { 102 // Include list of components 103 require 'PHP/Compat/Components.php'; 104 105 // Include version_compare to work with older versions 106 PHP_Compat::loadFunction('version_compare'); 107 108 // Init 109 $phpversion = phpversion(); 110 $methods = array( 111 'function' => 'loadFunction', 112 'constant' => 'loadConstant'); 113 $res = array(); 114 115 // Iterate each component 116 foreach ($components as $type => $slice) { 117 foreach ($slice as $component => $compversion) { 118 if (($version === null && 119 1 === version_compare($compversion, $phpversion)) || // C > PHP 120 (0 === version_compare($compversion, $version) || // C = S 121 1 === version_compare($compversion, $phpversion))) { // C > PHP 122 123 $res[$type][$component] = 124 call_user_func(array('PHP_Compat', $methods[$type]), $component); 125 } 126 } 127 } 128 129 return $res; 130 } 131 } 132 133 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 12:27:40 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |