Cache_Lite_Function::call

Cache_Lite_Function::call() – Appel une fonction ou une méthode de cache (ou pas si il y a déjà un cache pour cela)

Synopsis

require_once 'Cache/Lite/Function.php';

mixed Cache_Lite_Function::call ( string$functionName , mixed$arg1 , mixed$arg2 , mixed$arg3 , mixed... )

Description

Appel la fonction fournie avec les arguments fournis uniquement s'il n'y a pas de cache concernant celà ; sinon, l'affichage de la fonction est lu depuis le cache et est envoyé au navigateur et la valeur retournée est également lu depuis le cache et retournée.

Return value

Retourne le résultat de la fonction/méthode.

Note

This function can not be called statically.

Example

Utilisation classique avec une fonction

<?php

require_once('Cache/Lite/Function.php');

$options = array(
   
'cacheDir' => '/tmp/',
   
'lifeTime' => 3600
);

$cache = new Cache_Lite_Function($options);

$cache->call('function_to_bench'1245);

function 
function_to_bench($arg1$arg2)
{
   echo 
'ceci est l\'affichage de la fonction function_to_bench($arg1, $arg2) !<br />';
   return 
'ceci est l\'affichage de la fonction function_to_bench($arg1, $arg2) !<br />';
}

?>

Example

Utilisation classique avec une méthode

<?php

require_once('Cache/Lite/Function.php');

$options = array(
   
'cacheDir' => '/tmp/',
   
'lifeTime' => 3600
);

$cache = new Cache_Lite_Function($options);

$obj = new bench();
$obj->test 666;

$cache->call('obj->method_to_bench'1245);

class 
bench
{
   var 
$test;

   function 
method_to_bench($arg1$arg2)
   {
      echo 
"\$obj->test = $this->test et ceci est l'affichage de la méthode \$obj->method_to_bench($arg1$arg2) !<br />";
      return 
"\$obj->test = $this->test et ceci est l'affichage de la méthode \$obj->method_to_bench($arg1$arg2) !<br />";
   }

}

?>

Si vous essayez d'utiliser Cache_Lite_Function avec l'objet $this ($cache->call('this->method',...) par exemple), regardez le dernier exemple de cette page.

Example

Utilisation classique avec une méthode statique

<?php

require_once('Cache/Lite/Function.php');

$options = array(
   
'cacheDir' => '/tmp/',
   
'lifeTime' => 3600
);

$cache = new Cache_Lite_Function($options);

$cache->call('bench::static_method_to_bench'1245);

class 
bench
   
{
   var 
$test;

   function 
static_method_to_bench($arg1$arg2) {
      echo 
"Ceci est l'affichage de la fonction static_method_to_bench($arg1$arg2) !<br />";
      return 
"Ceci est l'affichage de la fonction static_method_to_bench($arg1$arg2) !<br />";
   }
}

?>

Example

Un autre exemple utilisant une méthode (comment utiliser le cache avec des appels $this->method())

<?php

// Depuis Cache_Lite-1.7.0beta2

require_once('Cache/Lite/Function.php');

$options = array(
  
'cacheDir' => '/tmp/',
  
'lifeTime' => 3600
);

$obj = new foo($options);

class 
foo
{

  var 
$test;

  function 
foo($options)
  {
    
$cache = new Cache_Lite_Function($options);
    
$this->test 'foobar';
    
$cache->call(array(&$this'method_bar'), 1245);
  }

  function 
method_bar($arg1$arg2)
  {
    echo 
"\$this->test = $this->test et c'est la sortie de la méthode \$this->method_bar($arg1$arg2) !<br>";
     return 
"\$this->test = $this->test et c'est le résultat de la méthode \$this->method_bar($arg1$arg2) !<br>";
  }

}

?>

Donc, pour les appels à la méthode, la meilleure solution est d'utiliser un tableau (&$object, 'nameOfTheMethod') en tant que premier argument au lieu d'utiliser '$object->nameOfTheMethod' qui ne fonctionne pas avec "$this" par exemple.

Constructeur (Previous) Efface un fichier de cache (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.