Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

第1回PHP拡張勉強会 - 開始

via. PHP拡張勉強会

  • Agenda
  • PECLってなんぞや?
  • C言語である事がメリットであり、デメリット
  • ドキュメントは少ない
  • PHP4とPHP5
    • バイナリ互換性
    • PHP4のソースは、行儀良く書いていればPHP5でも使える
      • 参照周りはNG
  • SPL、SimpleXMLは良いサンプル
  • 某Y社での話
    • 基本的なもの以外は全てsharedでbuild
    • filterは使ってる
    • 独自extensionたくさんある
  • そろそろ作るよー

ただいま勉強会中
ただいま勉強会中 posted by (C)shimooka

    • study1拡張モジュールを作るよー
      • void study1_greeting([string name])

ただいま勉強会中
ただいま勉強会中 posted by (C)shimooka

<?xml version="1.0" ?>
<!DOCTYPE extension SYSTEM "../extension.dtd">
<extension name="study1">
  <function name="study1_greeting">
    <proto>void study1_greeting([string name])</proto>
    <code>
      if (name_len) {
        //php_printf("Hello, %s%s", name, PHP_EOL);
        php_printf("Hello, ");
        PHPWRITE(name, name_len);
        php_printf("!%s", PHP_EOL);
      } else {
        php_printf("Hello, World!%s", PHP_EOL);
      }
    </code>
    <test>
      <code>study1_greeting();study1_greeting("Japan");</code>
      <result mode="plain">Hello, World!
Hello, Japan!</result>
    </test>
  </function>
</extension>
      • PHP_EOLってそのままひっつけられない?」(btoさん)
      • 「今こそ試すとき!」(fujimotoさん)
      • PHPWRITEを使いましょう
    • ただいま、実践中
      • 「まあ、別にテスト通らなくても」「えーww」
      • 「動作確認で-rじゃなくって、そこはphshでしょー!」(btoさん)
      • Makefile内で、「run-tests.php」の直後辺りに「-n」を付けると、iniファイルのextensionをコメントアウトしなくてもヨサゲ
    • 一通りプレゼン終了。休憩中。。。(20:58)
    • 再開。コードリーディング(21:10)
    • 終了ー!(21:20)
    • 質疑応答
      • code要素のsrc属性を使うと、外部コードを読み込めそう?

さて、そろそろ懇親会に移動ー。