note 111369 added to function.class-alias

From: Date: Tue, 12 Feb 2013 17:42:57 +0000
Subject: note 111369 added to function.class-alias
Groups: php.notes 
Request: Send a blank email to php-notes+get-193618@lists.php.net to get a copy of this message
Like class_alias but for functions: <?php function function_alias ($original, $alias) { $args = func_get_args(); assert('count($args) == 2', 'function_alias() require exactly two arguments'); assert('is_string($original) && is_string($alias)', 'function_alias() require string arguments'); // valid function name - http://php.net/manual/en/functions.user-defined.php assert('preg_match(\'/^[a-zA-Z_\x7f-\xff][\\\\\\\\a-zA-Z0-9_\x7f-\xff]*$/\', $original) > 0', "'$original' is not a valid function name"); assert('preg_match(\'/^[a-zA-Z_\x7f-\xff][\\\\\\\\a-zA-Z0-9_\x7f-\xff]*$/\', $alias) > 0', "'$alias' is not a valid function name"); $aliasNamespace = substr($alias, 0, strrpos($alias, '\\') !== false ? strrpos($alias, '\\') : 0); $aliasName = substr($alias, strrpos($alias, '\\') !== false ? strrpos($alias, '\\') + 1 : 0); $serializedOriginal = var_export($original, true); eval(" namespace $aliasNamespace { function $aliasName () { return call_user_func_array($serializedOriginal, func_get_args()); } } "); } ?> Until hopefully function_alias is added to php... ---- Server IP: 69.147.83.199 Probable Submitter: 78.2.108.48 ---- Manual Page -- http://php.net/manual/en/function.class-alias.php Edit -- https://master.php.net/note/edit/111369 Del: integrated -- https://master.php.net/note/delete/111369/integrated Del: useless -- https://master.php.net/note/delete/111369/useless Del: bad code -- https://master.php.net/note/delete/111369/bad+code Del: spam -- https://master.php.net/note/delete/111369/spam Del: non-english -- https://master.php.net/note/delete/111369/non-english Del: in docs -- https://master.php.net/note/delete/111369/in+docs Del: other reasons-- https://master.php.net/note/delete/111369 Reject -- https://master.php.net/note/reject/111369 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#193618) next »