以下は、RESTXMLAPIから結果をフェッチするためのコードの簡単な例です。
これは、この質問のために実際のPHPクラスから抽出したほんの一部です。
XMLドキュメントを返すAPIURLで、1つのページからすべての結果をフェッチしてから、次のページからフェッチする方法に興味があります。
$this->api_page
APIがデータを返すページを設定します。
SimpleXMLElement
たとえば、APIの10ページまたはすべてのページからページ番号からデータを返し、そのページの結果を読み込んでから次のページを取得する方法を使用して、以下の基本コードを見てください。
現在、JavaScriptとPHPをPage number
使用して、スクリプトにURLを渡すことでこれを行っています$_GET['page']
。これには、ユーザーがページをロードする必要があり、ページがずさんなものであるという問題があります。
私の実際のAPIスクリプトは、サーバー上のCronジョブから実行されるので、それを念頭に置いて、どのようにしてすべてのページをフェッチできますか?
以下のサンプルコードに基づいてこの質問をしますが、それは他のプロジェクトで頻繁に行う必要があるタスクであり、これを行うための良い方法がわからないためです。
<?php
$this->api_url = 'http://api.rescuegroups.org/rest/?key=' .$this->api_key.
'&type=animals&limit=' .$this->api_limit.
'&startPage='. $this->api_page;
$xmlObj = new SimpleXMLElement($this->api_url, NULL, TRUE);
foreach($xmlObj->pet as $pet){
echo $pet->animalID;
echo $pet->orgID;
echo $pet->status;
// more fields from the Pet object that is returned from the API call
// Save results to my own Database
}
?>