PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

Cache_Lite_Function::call | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

Cache_Lite_Function::call

Cache_Lite_Function::call() – キャッシュ可能な関数あるいはメソッドをコールする (あるいはすでにキャッシュされている場合はコールしない)

Synopsis

require_once 'Cache/Lite/Function.php';

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

Description

もしキャッシュがなければ、引数と共に与えられた関数をコールします ; もしくは、関数の出力がキャッシュから読み込まれた場合はブラウザに送信し、 また、値がキャッシュから読み込まれ返された場合、その値を返します。

Return value

returns 関数/メソッドの結果

Note

This function can not be called statically.

Example

典型的な関数の使用法

<?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 
"This is the output of the function function_to_bench($arg1$arg2) !<br>";
    return 
"This is the result of the function function_to_bench($arg1$arg2) !<br>";
}

?>

Example

典型的なメソッドの使用法

<?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 and this is the output of the method \$obj->method_to_bench($arg1$arg2) !<br>";
        return 
"\$obj->test = $this->test and this is the result of the method \$obj->method_to_bench($arg1$arg2) !<br>";
    }

}

?>

もし、Cache_Lite_Function で $this オブジェクト (例えば $cache->call('this->method',...) を使用したい場合、 まずこのページの最後の例を参照ください。

Example

典型的な静的メソッドの使用法

<?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 
"This is the output of the function static_method_to_bench($arg1$arg2) !<br>";
        return 
"This is the result of the function static_method_to_bench($arg1$arg2) !<br>";
    }
}

?>

Example

このメソッドの別の使用法 (キャッシュの $this->method() コールを使用する方法)

<?php

// 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 and this is the output of the method \$this->method_bar($arg1$arg2) !<br>";
        return 
"\$this->test = $this->test and this is the result of the method \$this->method_bar($arg1$arg2) !<br>";        
    }

}

?>

つまり、メソッドのコールについてのいちばんよい方法は、最初の引数として array(&$object, 'nameOfTheMethod') を使用することです。 '$object->nameOfTheMethod' を使用すると、例えば "$this" ではうまく動作しません。

忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「Cache_Lite_Function::call」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | Cache_Lite_Function::call」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: