php 理解

<?php
class t
{
var $num;
var $dynamic_function;
public function dynamic_function()
{
$func = $this->dynamic_function;
$func($this); 
}
}
$p = new t();
$p->num = 5;
$p->dynamic_function = function($this_ref) 
{
echo $this_ref->num++.'<br />';
};
$p->dynamic_function(); 
$p->dynamic_function = function($this_ref)
{
echo $this_ref->num.'<br />';
$this_ref->num *= 3;
};
$p->dynamic_function(); 
$p->dynamic_function(); 
$p->dynamic_function(); 
echo $p->num;


/*
5
6
18
54
162
*/
?>

  

  session_start();
$authorise = function($func) {
     return function() use ($func) {
         if ($_SESSION['is_authorised'] == true) {
             $args = func_get_args($func);
             call_user_func_array($func, $args);
         }
         else {
             echo "Access Denied";
         }
     };
 };

$a = function($foo)  {
     echo "Service returns: $foo";
 };

$service = $authorise($a);

$_SESSION['is_authorised'] = true;
$service('123',"2222222");


$_SESSION['is_authorised'] = false;
$service('test 2');

  

原文地址:https://www.cnblogs.com/saonian/p/5312409.html