/usr/share/php/PHP/Compat/Function/clone.php is in php-compat 1.6.0a3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?php
/**
* Replace clone()
*
* @category PHP
* @package PHP_Compat
* @license LGPL - http://www.gnu.org/licenses/lgpl.html
* @copyright 2004-2007 Aidan Lister <aidan@php.net>, Arpad Ray <arpad@php.net>
* @link http://php.net/language.oop5.cloning
* @author Aidan Lister <aidan@php.net>
* @version $Revision: 280040 $
* @since PHP 5.0.0
* @require PHP 4.0.0 (user_error)
*/
function php_compat_clone($object)
{
// Sanity check
if (!is_object($object)) {
user_error('clone() __clone method called on non-object', E_USER_WARNING);
return;
}
// Use serialize/unserialize trick to deep copy the object
$object = unserialize(serialize($object));
// If there is a __clone method call it on the "new" class
if (method_exists($object, '__clone')) {
$func = '__clone';
$object->$func();
}
return $object;
}
// Define
if (version_compare(PHP_VERSION, '5.0') === -1) {
// Needs to be wrapped in eval as clone is a keyword in PHP5
eval('
function clone($object)
{
return php_compat_clone($object);
}
');
}
|