前の記事 ≪:アニメーションの残像が残るjQueryアニメーションチュートリアル
次の記事 ≫:Ajaxを使ったクールなインタフェースを持つカレンダー実装スクリプト...

Symfony2にも入っているPHP 5.3ベースの超便利ライブラリ集

2010年04月26日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法

Introducing four new PHP 5.3 components and Goutte, a simple web scraper | php|architect

Symfony2にも入っているPHP 5.3ベースの便利ライブラリ集が紹介されていました。
ブラウザのシュミレーションをしたり、DOMを辿ったり、CSSセレクタ形式をXpathに変換したりと、便利に使えそうです。



CssSelector
CSSセレクタをXPathに変えてくれるモジュールのようです。
ページのスクレイピングにとっても役立ちそうですね

$document = new DOMDocument();
$document->loadHTMLFile('http://fabien.potencier.org/articles');
$xpath = new DOMXPath($document);
foreach ($xpath->query(Parser::cssToXpath('div.item > h4 > a')) as $node)
{
    printf("%s (%s)n", $node->nodeValue, $node->getAttribute('href'));

DomCrawler
DOMを超簡単に操作できるライブラリ。
HTMLを渡せば、メソッドをチェーンさせて指定要素のclass属性を取得するというJavaScriptっぽいことが出来るみたいです。

use SymfonyComponentsDomCrawlerCrawler;

$crawler = new Crawler();
$crawler->addHtmlContent('<html><div class="foo"></div></html>');

$crawler->filter('div')->attr('class') // div class="foo" の foo が取れます

Process
PHPで別プロセスを細かく制御できる proc_* 関数を便利に使うためのラッパークラスです。

use SymfonyComponentsProcessPhpProcess;

$process = new PhpProcess('/path/to/script.php');
$process->run();

echo $process->getOutput();

非常に直感的かつ簡単に外部スクリプトの実行結果を取得できます。

BrowserKit
上記のDomCrawlerを介して、ウェブサイトとインタラクティブにclickやsubmitを行ってコミュニケートすることが出来るようです。

PHP5.3ということでNamespaceを基本で使ってますが、なかなか便利そうなライブラリ集ですね。

関連エントリ

関連の記事検索:PHP, symfony, ライブラリ
スポンサード リンク

By.KJ : 2010年04月26日 09:08 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)