cakeの便利なライブラリを使ってみよう(xml編)
cake/libs直下にあるphpファイルは、cake本体で利用するためでもあるけど、普通にコントローラから呼び出して使えます。かなり便利なものがたくさんあり、例えば
などがあります
これらのAPIのメソッドは、下記で調べられます。(無いのもあるけど)
http://api.cakephp.org/classes.html
例えば、xml.phpであれば
http://api.cakephp.org/class_xml.html
をみれば良いです。
まずは、xml.phpを使って、このブログのRSSを取得して配列に入れて、タイトルだけ表示する場合。
app/controllers/readxml_controller.phpファイル
<?php class ReadxmlController extends AppController { var $name = 'Readxml'; var $uses = null; function index() { uses('Xml'); $feedurl = 'http://d.hatena.ne.jp/cakephper/rss/'; $xml = new XML( $feedurl ); $xml_array = Set::reverse($xml); pr($xml_array); exit; } }
たったこれだけ!!便利すぎる!!
あとは、$xml_arrayの配列の構造をみて、好きなデータを取得するだけ。
例えばタイトルだけ表示する場合は
<?php class ReadxmlController extends AppController { var $name = 'Readxml'; var $uses = null; function index() { uses('Xml'); $feedurl = 'http://d.hatena.ne.jp/cakephper/rss/'; $xml = new XML( $feedurl ); $xml_array = Set::reverse($xml); foreach($xml_array['RDF']['Item'] as $key => $value){ echo $value['title'].'<br>'; } exit; } }
こんな感じ。あとは$this->setで$value['title']をViewに渡してあげれば良いです。
あー、マジで便利だ。これ。