キャラクタ取得

キャラクタ詳細情報を取得します。

<?php
require_once('Services/CamelotHerald.php');

$cacheDir = '/tmp/';
$lifeTime = 10800;

$herald = new Services_CamelotHerald($cacheDir, $lifeTime);

$character = $herald->findCharacter('characterName', 'Akatsuki');

print $character->name;
print $character->class;

print $character->totalrp;
print $character->todayrp;
print $character->lastweekrp;

foreach ($character->weeks as $week) {
    print $week->day;
    print $week->deaths;
    print $week->kills;
    print $week->rp;
}
?>

キャラクタ名、サーバ名をセットし findCharacter() を実行します。詳細なキャラクタ情報 (例: トータル RP, MasterLevelとそのパス, クラフトスキルなど. See Services_CamelotHerald_Dto_Character) を含んだキャラクタオブジェクトを返します。

取得にエラーが発生した場合は、エラーオブジェクト (PEAR_ErrorStack) をスタックします。

次のような使い方もできます。

<?php
$result = $herald->searchCharacter('characterName', 'Akatsuki');
foreach ($result as $value) {
    $character = $herald->findCharacter($value);
    print $character->name;
    print $character->class;
    print $character->totalrp;
}
?>

Services_CamelotHerald_Dto_Character オブジェクトをセットし実行しても、同じ結果を得ることができます。

cache を使用せずサーバから最新情報を取得する場合は、第3引数の findMode フラグに SERVICES_CAMELOTHERALD_FIND_FORCE をセットします。

<?php
$result = $herald->searchCharacter('characterName', 'Akatsuki', SERVICES_CAMELOTHERALD_FIND_FORCE);
?>

cache からのみ情報を取得するようにするには、第3引数の findMode フラグに SERVICES_CAMELOTHERALD_FIND_CACHE をセットします。

<?php
$result = $herald->searchCharacter('characterName', 'Akatsuki', SERVICES_CAMELOTHERALD_FIND_CACHE);
?>


Add comment