追記 - 移転しました

http://sasezakit.phper.jp/ http://sasezaki.musicrider.com/

「例えば、PHPを使う」は終わりました。長年のご愛顧ありがとうございました。

ほんとにPHP使い始めたら止めようと初めたときから思ってたのでここでの更新やめます。 (あとはてなダイアリーがEUC-JPとかだったりするので) 移転先はとくにありません。 散文的なものは主に以下を更新してるようです。 - https://gist.github.com/saseza…

悪用厳禁! ZF2のPluginClassLoader::addStaticMap

こんな場末の日記をご覧の方は、ZF2のプラグイン機構では、クラス定義の読み込みをPluginClassLoaderが、インスタンス化をPluginBrokerが行うということはご存知ですよね!え、ご存知ない?Wikipedia創設者ZFリードデペロッパーMatthew Weier O'Phinneyから…

AjaxなURL(#!)を変換する奴を書かれたものをPHP用にポーティング

http://github.com/sasezaki/Zend_Uri_HttpCrawlableHash @see http://code.google.com/intl/ja/web/ajaxcrawling/docs/specification.html @see http://subtech.g.hatena.ne.jp/mala/20101018/1287419036 とりあえずテストコードに書かれた分はパスしてます…

Zend_Http_UserAgentでの個別デバイスクラスの記述

Zend Framework1.11では、Zend_Http_UserAgentというブラウザデバイスの各種情報取得判定のためのコンポーネントが登場しますが、現状デフォルトで用意されているデバイスクラス(Zend_Http_UserAgent_Deviceインターフェイスの実装)以外のクラスを用意したい…

Zend Framework 2 - SignalSlotの利用メモ

Zend Framwork2で使われそうなSignalSlotの利用メモ (元々はPhly_PubSubとしてマシューが開発を進めてたもの)。 もうZend\Sessionでは使われてますけど。 利用したZF2のソースは http://github.com/zendframework/zf2からpullしたものです。 (今InvalidArgum…

PHPカンファレンス2010 テックデイ

http://phpcon.php.gr.jp/2010/ http://gihyo.jp/news/report/01/phpcon2010/0002 参加しました。僭越ながら壇上にも上がらせていただきました。フレームワークアップーデートというテーマで話を受けた際に、「基本方針は立ち上げ時から変わってないから、追…

Hudsonとphp

php用のHudsonの設定と言えば、 HudsonでPHPのユニットテスト http://d.hatena.ne.jp/ssogabe/20081102/1225642743 の記事があったりしますが、こちらで紹介されてる設定をそのままコピペしたとしても 近頃(すくなくとも今年4月以降)のhudsonだとパスがうま…

symfonyドキュメント翻訳温泉ツアーに参加してきました。

http://www.symfony.gr.jp/blog/20100801-symfony-translation-spasymfonyドキュメントの翻訳は一切やってません(キリッ! (おいおい) yudoufuさんの寝起きマル秘画像を激写はできなかったので、別の写真をお楽しみください。 やったことはちょっとgithubにプッ…

強欲にHTTPレスポンスをUTF-8にエンコーディングするDiggin_Http_Response_Charsetについて

githubもしくはopenpearでのコミットログを見ていると気づいてるかと思われますが、 最近は、Diggin_Http_Response_Charsetというのを作成しました。 http://openpear.org/package/Diggin_Http_Response_Charset http://github.com/sasezaki/Diggin_Http_Res…

コメント方法をなぞなぞ方式に変更しました。

たった1行のコードでHTML取得&解析をしたい場合はexthtmlが便利

たった*行のコードでHTML取得&解析をしたい場合はWeb::Scraperが便利をexthtmlを使った場合、こんな感じになります。 $ exthtml -x '//div[@id="topicsfb"]//li//text()' -a='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)' http://ww…

某テンプレートエンジンの各HTTPクライアントで100リクエスト投げた時のベンチマーク

大体3,4回目の結果を載っけてます。環境: $ \php -v PHP 5.3.2-1ubuntu4 with Suhosin-Patch (cli) (built: Apr 9 2010 08:23:39) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies$ pear list | gre…

PHPとZend Frameworkでの前の例外

私の見てるマニュアルには載ってますよ! http://framework.zend.com/manual/ja/zend.exception.previous.html Zend Frameworkを使ってる方は、PHP5.2でもprevious exceptionを可能にするために以下のとおり変更が施されて、codeは(int)キャストしてることに…

イッソノ〜そろそろPHPでの最強CouchDBライブラリ決めようぜ (第1回)

ナカシマ「イソノ〜。今日もテンプレートエンジン界のオーバーテクノロジーで遊ぼうぜ〜」 イソノ「そうだな〜。今日はスクレイピングした結果をさくっと保存したいな〜。*1」 ナカシマ「それならやっぱりCouchDBがナウいよ。」 イソノ「NoSQLって言うんだっ…

PHP 5.3ではXpathを拡張できる

タイトルでは誇張して煽ってみてますが、PHP5.3より前ではXSLTProcessorでしかついてなくて正直へえ(´・∀・`)だった感じのregisterPhpFunctions()がDOMXPathについたことによって超すごいことになってたんですよ奥さん!(私は今頃しった) Premature Optim…

PHPでYouTube動画をダウンロードするWozozo_WWW_YouTubeをリリース。

インストール sudo pear install openpear/Wozozo_WWW_YouTube使い方

RecursiveIteratorIteratorIteratorIterator

(※画像はI love unicodeの人のスライドの「Code, Ideas, People」からの借用です。) PHPの無名関数を使って再帰処理を行う : アシアルブログ さて本題の再帰処理です。RubyのArray#flattenと同じようなものを実装してみます。Array#flattenはネストした配列…

文字列結合演算子

echo は , か . かって話 http://d.hatena.ne.jp/sotarok/20100321/1269200776 を受けての話ですが、"."こと文字列結合演算子は思い込みでリテラル以外はちょっと微妙になるとおもってました。 value = $value; } public function __toString() { return (st…

今の pear list -a

PHP5.3使ってます!キリッ!とかのたまってる割にはメインのpearはphp5.2の (というかubuntuの\phpなので)だったりするので、pearも5.3のbinにしとこうということで、各パッケージ入れ直したりする前よう昔こんなの入れてたのねー的なメモ。 INSTALLED PACKAGES, …

ZendFramework 勉強会 #2

行ってまいりました。 http://events.php.gr.jp/events/show/91 株式会社paperboy&co.様会場&懇親会費提供ありがとうございます! で発表中、咳ゴホンゴホンしまくっててマジすいません!!!(;´Д`) 私の発表のスライドは以下。Zend Tool超入門View more pr…

Zend Frameworkのドキュメントの翻訳

ZFは1.10のリリースが間近に控え、今までのコンポーネント単位でのドキュメントとは別に、 チュートリアルも用意されるようになりました。 http://framework.zend.com/manual/1.10/ja/manual.html しかしながら、チュートリアルについてもですが新しいドキュ…

第47回PHP勉強会

http://events.php.gr.jp/events/show/85 なんか最近は半分ぐらいPHP勉強会の記録ログにしかなってないですが(ezの勉強会とかoscにも行ってはいたんですが。。)11/7に行われたPHP勉強会に行ってきました。場所はトライコーンです。会場提供有難うございます…

第46回PHP勉強会@関東

http://events.php.gr.jp/events/show/84 帰りの電車で初めてケータイでGREEを見てる人を見かけました。偶然すぎる。懇親会の時にPHP5.3の利用者がゼロということで、PHP5.3の話をしました。(constにNOWDOCが書けるのが5.3の最大の利点とかそういう話。)その…

SWFEditorを用いてFlash SWFからJPEGファイルを取り出す

PHPカンファレンス2009での個人的な目玉は、ハタさんの発表とyoyaさんの発表でした。 yoyaさんの発表にあったSWF Editor for PHPをEdit以外の用途で使ってみます。 SWFEditorについては以下に記載があります。 http://pwiki.awm.jp/~yoya/?swfed 発表の際に…

Zend Framework 1.10

6月の発表に関する追記として、実際にリリースされたのは1.8.5ではなく、1.9.0でしたというのすっかり忘れてました。jiraのroadmap*1にはミニリリースと書いてあった気がしますが。 PHP5.3も出たので、ZF2.0の続報も待たれる頃かと思います。(え!?まだいらな…

Diggin のロードマップ

0.7での予定 Diggin_RobotRules(仮称)の搭載 robots.txtをメインにREP(Robot Exclusion Protocol)などのパース・ハンドル(Zend_Http_Clientのインスタンスを渡したら判定など)・書き込み を目的としたコンポーネント名前空間で、基本的にリクエストを送る側(…

Diggin_Siteinfo

Diggin_Scraper_Helper_Simplexml_Pagerizeでは、下記のような単純な多次元配列をプッシュし利用します。(pageElementは現在サポートしていません。) '^http://framework.zend.com/code/changelog/Standard_Library/', 'nextLink' => '//div[@class="change…

Diggin_Scraper_Helper

ZFのヘルパーと同様な__callによるヘルパー機能です。 scrape($url); var_dump($scraper->title()); 上の例のtitleヘルパーはブラウザーのタイトルバーに表示される(であろう)文字列が結果となります。 上記の場合、scrapeメソッド実行時に整形したリソース…

Digginライブラリの変更内容・変更予定 ここ数ヶ月のDigginの変更内容ならびに変更予定をお知らせします。