Architect Note


しがないPHPerのブログ

protectedを乱用してパッケージメンバを作る

PHPではprivateと宣言したプロパティ、メソッドは、同じクラスのインスタンスであれば相互にアクセスできます。あまり意識することはないですが、たまにぎょっとすることになります。 <?php class Klass { private $data; function __construct($init) { $this->data = $init; } function get(sel..


XMLとJSONの話(1) データフォーマットとしての比較

XMLとJSONの相互変換を行うライブラリはいくつかありますが、完璧なものはどこにもありません。そもそもフォーマットに互換性がないからです。 XML_Builderを作る中でXMLとJSONを比較したのですが、一旦まとめておこうと思います。 XML XMLは文書の電子化に源流があります。そのため長いテキストをベースに何か情報を付加していくのには非常に便利なフォーマットです。反面、含めることができるのはテキストのみで、integerやboolean、nullといっ..


それでもPHPにfinallyが必要な理由

PHP Conference 2012で知ったのですが、PHP5.5にはfinallyが搭載される見込みだそうです。 搭載されるのはいいのですが、昔、「PHPにfinallyはないけどデストラクタがあるよ」と題してfinally不要説を書いたことがあるので、もう少し考察を行ってみたいと思います。自分で自分に反論を書いてるのもアレなんですけど。 ※RFCは追いかけてなかったので、本記事は想像で書いています。ツッコミください。 finally不要説 私が主張し..


GitHub markdown APIで遊ぶよ

markdownといえば各種言語に実装されていますが、GitHubがWeb API形式で変換ツールを出しているようなので遊んでみました。このAPIを通すと、markdownテキストがHTMLに変換されます。 JSONPで使える奴と、RESTっぽくmarkdownなテキスト自体をPOSTするとHTMLの断片が返ってくるraw APIの2つがあります。 利用上限は一時間あたり5000回と太っ腹。 とりあえず、PHP版:http://tojiru.net/mark..


PSR-0はなぜ0(≒最重要)なのか

Symfony勉強会で酔った勢いでPSRのステマをLT枠でしてきたのですが、参加者の半数以上がPSRを知っているというSymfony勉強会のレベルの高さに完全にやる気を失い、気のない話しかできなかったことをまずはお詫び申し上げます。 アレだとちょっと何が言いたかったのか意味不明ですので、改めて解説したいと思います。スライドはもう上げなくていいか。。 PSRとは PSRとはPHP-FIGっていう、色々なフレームワーク原作者同士の集まりみたいなところで策定されている..