タグ

ブックマーク / blog.r-sky.jp (5)

  • php_tokyocabinet-0.1.0 - 讃容日記

    php_tokyocabinet-0.1.0.tgz Tokyo CabinetPHPバインディングを作ってみました。 インストールは phpize; configure --enable-tokyocabinet; make; sudo make install と、いつもの手順ですが、configure内でpkg-configを使います。Tokyo Cabinetはバージョン1.0.2以降が必要です。 Mac OS XではTokyo Cabinet, pkg-configともにMacPortsでインストールできます。(databases/tokyocabinet, devel/pkgconfig) API解説 ハッシュデータベースを操作するTCHDBクラス、B+木データベースを操作するTCBDBクラス、B+木データベースの各レコードを順番に参照するためのTCBDBCURクラスがありま

    php_tokyocabinet-0.1.0 - 讃容日記
    se-mi
    se-mi 2007/11/13
    tcのPHPバインディング。
  • 秋のPECLまつり - 讃容日記

    php_qr-0.3.1.tgz php_yaml-0.1.1.tgz php_senna-0.1.0.tgz -> php_senna-0.1.1.tgz (SenRecordsのイテレータとしてのふるまいを修正) php_unichar-0.1.0.tgz php_dcomplex-0.1.0.tgz -> php_dcomplex-0.1.1.tgz (テストケースを追加、他少々) php_opendogs-0.6.0.tgz php_continuation-0.1.0.tgz php_session_hash-0.1.0.tgz 久々にSennaバインディングをアップデートsf.jpで公開されているバージョンではなく、Subversionの開発版が必要です。開発版の取得に関してはSennaのダウンロードのページを見てください。 開発版で実装されている新しいAPI、ql API

    秋のPECLまつり - 讃容日記
  • PHPカンファレンス2007プチレポート - 讃容日記

    もうあれから6日が経過しようというところですが、遅ればせながら。 PHPカンファレンス2007に参加、「今日からはじめるPHPエクステンション」という演題で喋ってきました。 久々のプレゼンということもあり、すごく緊張していました。もっと滑舌よく、手際よく進められないといけませんね。 定員60名の小会場で立ち見が出るほど来てもらえたのは正直嬉しかったです。 懇親会でも「これなら作れそうだと思った」という感想をいただき、行ってよかったなと思いました。 東京方面の方々と知己を得られたことも大きな収穫です。 ところでプレゼンではCodeGen_PECLのspecファイル(XML)に関数の実装まで記述していましたが、これは限られた時間でCodeGen_PECLとZend API両方の説明をするための策で、実際のPHPエクステンション制作ではspecファイルにはコードは一切書かず関数プロトタイプの記述

    PHPカンファレンス2007プチレポート - 讃容日記
  • YAML パーザ改良の巻 - 讃容日記

    php_yaml-0.0.1devel3.tgz 以前のバージョンではクォートされていないスカラー値の int/float 判定と、int/float のパース処理はかなり手を抜いていて、PHP 組み込みのものを使っていました。そのため 2進数、60進数、可読性のためにアンダースコアが途中に入っている数値文字列が解釈できなかったのですが、その部分を自前で書いて YAML 1.1 仕様に添って記述されている数値型すべてを正しく PHP の数値型に変換できるようにしました。 (YAML 1.1 仕様には明記されていませんが、公式サイトのサンプルにあるのでカンマも数値区切り文字として許可するようにしています) 上記を含むすべての変更点は以下の通りです。 数値型のパース処理を改良 php.ini のエントリを追加 yaml.decode_binary (default: Off) On にすると

    YAML パーザ改良の巻 - 讃容日記
    se-mi
    se-mi 2007/06/11
  • Senna バインディングを作ってみた - 讃容日記

    php_senna-0.0.1devel.tgz 5時間ぐらいで一気に書いた。反省はしていない。 例によって雛形は CodeGen_PECL で作成。 ベーシック API のみ実装で、ほとんど C API のまんま。テストやドキュメントの類は皆無。 公式のAPI解説と同梱の examples/sen-test.php で勘弁を。 configure でチェックさぼってるけど sen_info() のため、Senna バージョン 1.0.2 以降が必要です。1.0.4 を推奨。 アドバンスト API に関してはオブジェクト指向 API の実装と一緒にやる予定。いつやるかは未定。1.1.0 より後なのは確定。 C API そっくりそのまんまじゃなくて、もうちょっと今風の PHP らしくするかも。 OO 的には SPL 使って SenRecords クラスでは Iterator (もしくは It

    Senna バインディングを作ってみた - 讃容日記
  • 1