Zephir是一个开源的,可以用高级语言安全快速地编写PHP的C扩展。

Phalcon 2.0已经改用Zephir重写。

根据Phalcon团队发布的博文: Phalcon 2.0 progress + benchmarks;可以做到跟用C写几乎一样的性能(甚至更好一点)。

下面是本人对zephir的初次尝试

先创建一个目录:

mkdir ~/zephirtest
cd ~/zephirtest
zephir init test
zephir init命令就是初始化一个项目。 init 后面跟的”test” 就是namespace.
这个时候,会自动在~/zephirtest下生成一个跟namespace同名的test目录。

进入test目录:有3个东西:
config.json, ext目录和test目录。

config.json是基础配置文件。
ext是扩展生成后存放的地方。

这里的“test”目录,则是我们放真正代码的地方。

cd test
pwd
#当前位置:
/root/zephirtest/test/test
在这个目录下创建文件:Hello.zep

namespace Test;

/**
* This is a sample class
*/
class Hello
{
/**
* This is a sample method
*/
public function say()
{
echo “Hello World!”;
}
}

然后保存, 返回到目录~/zephirtest/test
(实际目录:/root/zephirtest/test)
执行:

zephir compile
这个时候,ext里面就有代码了。
进入ext
执行
./install
test.so文件就会生成了,会保存在两个地方:
/root/zephirtest/test/ext/modules
/usr/lib64/php/modules/

更改php.ini, 添加一个
extension=test.so

重启php-fpm或者重启你的web server
/etc/init.d/php-fpm reload

在目录:~/zephirtest/test里面创建一个test.php
复制一下内容:

<?php
$t = new Test\Hello();
$t->say();
echo “\n”;
?>

修改执行权限
chmod +x test.php
php -f test.php

输出结果:
Hello World!

搞定。

关于zephir的语法, 请参考:http://zephir-lang.com/