かばだんなさん かく語りぬ Header Image

PHP から Zephir の拡張モジュールを使用する

前々回作った環境で前回ビルドした Zephir の拡張モジュールですが、今回はPHPのプログラムから拡張モジュールを呼び出してみましょう。

staticメソッドの場合

前回作った Zephir のプログラムは下記の通り。

namespace Zeptest;

class Greeting
{

    public static function say()
    {
        echo "hello world!";
    }

}

これをPHPで呼び出す場合は、

<?php
echo Zeptest\Greeting::say(), "\n";

こんな感じでHelloWorldが表示されます。

インスタンスメソッドの場合

普段staticメソッドよりインスタンスメソッドの方がよく使われますよね。
今度は「日本人なら HelloWorld も縦書きでしょ!」です。

namespace Zeptest;

class Greeting
{

   public function say_tate(string str)
    {
        char ch;

        for ch in str {
            echo ch, "\n";
        }
    }

}

これをPHPで呼び出す場合は、

<?php
$greeting = new Zeptest\Greeting();
$greeting->say_tate("hello world");

という2行だけです。

実行はこんな感じ。

C:\>php -f zeptest.php
h
e
l
l
o

w
o
r
l
d

以上で 64bit Windowsでも Zephir が使えるようになりました!


コメントを残す