首页 > Web开发 > 详细

PHP 利用闭包偷窥马对人类的想法

时间:2017-01-24 17:29:18      阅读:192      评论:0      收藏:0      [点我收藏+]
 1 <?php
 2 
 3 /**
 4  * reference:http://www.php.net/manual/en/reflectionmethod.getclosure.php
 5  * Learn this and you will know How to peer through what a horse is thinking!
 6  *
 7  * Class Client
 8  */
 9 class People
10 {
11     private $heartWords = "How beautiful the horse is!I want to ride it!";
12 
13     public function hook()
14     {
15         $who = get_class($this);
16         echo  ucfirst($who). " says :".$this->heartWords. "\n";
17     }
18 
19     public function peer()
20     {
21         return function(){
22             $this->hook();
23         };
24     }
25 }
26 
27 class Horse
28 {
29     private $heartWords = "How silly the guy is! A big ass!";
30 }
31 
32 $people = new People();
33 $horse  = new Horse();
34 
35 try{
36     $reflection = new ReflectionClass(get_class($people));
37 }
38 catch(ReflectionException $e)
39 {
40     echo $e->getMessage() ."\n";
41     return;
42 }
43 
44 $closure = $reflection->getMethod(‘hook‘)->getClosure($people);
45 $truth = $closure->bindTo($horse,$horse);
46 
47 $truth();     //  Horse says :How silly the guy is! A big ass!

 注:本人郑重声明,此比喻只为加深对该例子的理解,无诋毁人类之意。

PHP 利用闭包偷窥马对人类的想法

原文:http://www.cnblogs.com/jingjingdidunhe/p/6347369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!