精英盒子 -> 程序设计 -> PHP的函数重载(直接用) [打印本页]

abreto 2012-06-08 13:54

PHP的函数重载(直接用)


详见 https://github.com/Abreto/php-func-overload.
原理见:http://blog.abreto.net/blog/2011/08/php%E7%9A%84%E5%87%BD%E6%95%B0%E9%87%8D%E8%BD%BD%E4%BC%AA%E9%87%8D%E8%BD%BD.html.


jybox 2012-06-08 16:13
代码用字符串,你坑爹不坑爹啊

给你个好主意:
第三个参数$code你直接要用户指定一个函数名好不好啊,效果如下:

require_once('php-func-overload.php');

//三个重载形式的实现
function hello1()
{
  echo "hello php-func-overload\n.";
}

function hello2($a)
{
  echo ($a+$a)."\n";
}

function hello3($a,$b)
{
  echo "$a. Hello $b.\n";
}

//注册重载函数
_('hello','','hello1');
_('hello','$a:integer','hello2');
_('hello','$a:integer,$b="ab":string','hello3');

//演示:
hello();    // 第一个函数原型
hello(2);   // 第二个函数原型
hello(12, 'World'); // 第三个函数原型

abreto 2012-06-08 16:16
jybox:[表情] 代码用字符串,你坑爹不坑爹啊
给你个好主意:
第三个参数$code你直接要用户指定一个函数名好不好啊,效果如下:
....... (2012-06-08 16:13) 

本來想用匿名函數來着..




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.036555 second(s),query:5 Gzip enabled