26
0

给类动态的添加方法..

Author Jessica     Category PHP     Tags ,

今天没事干翻手册.发现create_function这个方法很有意思.

我们可以定义一些用户函数.但是还是用原来的函数名.只不过前面加个$就可以了.

我们来看下例子

  1. $str_shuffle = create_function('$a','echo $a;');  
  2. echo $str_shuffle('aaa'); 

这样我们就可以制造一个山寨版的str_shuffle了:)

create_function的功能远远不止这点.我们还可以给类动态的添加方法.我们来看下面的例子

  1. class Hoge {   
  2.    var $lamda;   
  3.    var $text;   
  4.  
  5.    function set($lamda)   
  6.    {   
  7.        $this->lamda = $lamda;   
  8.    }   
  9.  
  10.    function callLamda()   
  11.    {   
  12.        $func = $this->lamda;   
  13.        return $func($this);   
  14.    }   
  15.  
  16.    function get()   
  17.    {   
  18.        return $this->text;   
  19.    }   
  20. }   
  21.  
  22. $newfunc = create_function('&$class''echo $class->get();' );   
  23.  
  24. $h = new Hoge;   
  25. $h->text = "Hi there !";   
  26. $h->set($newfunc);   
  27. $h->callLamda();  

Post comment

分类目录

最近文章

近期评论

文章归档

标签

.net AJAX button Comet CSS Discuz! DIV+CSS Flash Form Google HTML编辑器 IE8 Java JavaScript jQuery JSP md5 MySQLReback OAuth Oracle PHP php-fpm PNG Punny SkiyoTabs tab TagCloud Vista Web2.0 Windows7 上传 加密 图标 本站原创 模板 模板引擎 源码 登录 短网址 石家庄 算法 编译 面向对象 魔术方法

链接表