<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Zephire on 勇气</title><link>https://courages.us/tag/zephire/</link><description>Recent content in Zephire on 勇气</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 17 May 2015 13:21:46 +0800</lastBuildDate><atom:link href="https://courages.us/tag/zephire/index.xml" rel="self" type="application/rss+xml"/><item><title>PHP 扩展开发之Zephir</title><link>https://courages.us/php-%E6%89%A9%E5%B1%95%E5%BC%80%E5%8F%91%E4%B9%8Bzephir/</link><pubDate>Wed, 06 May 2015 21:26:24 +0800</pubDate><guid>https://courages.us/php-%E6%89%A9%E5%B1%95%E5%BC%80%E5%8F%91%E4%B9%8Bzephir/</guid><description>&lt;p&gt;最近对代码进行性能分析后，发现两个耗时的地方：自动加载文件数太多；参数验证函数调用超过1000次。这也是许多php语言框架面临的问题，所以发展出来诸如&lt;a class="link" href="https://github.com/laruence/php-yaf" target="_blank" rel="noopener"&#10; &gt;Yaf&lt;/a&gt;，&lt;a class="link" href="http://www.swoole.com/" target="_blank" rel="noopener"&#10; &gt;Swoole&lt;/a&gt;，&lt;a class="link" href="http://phalconphp.com/en/" target="_blank" rel="noopener"&#10; &gt;Phalcon&lt;/a&gt;这些C语言扩展框架，或者类似&lt;a class="link" href="http://www.workerman.net/" target="_blank" rel="noopener"&#10; &gt;workerman&lt;/a&gt;，&lt;a class="link" href="http://reactphp.org/" target="_blank" rel="noopener"&#10; &gt;reactphp&lt;/a&gt;，&lt;a class="link" href="http://daemon.io/" target="_blank" rel="noopener"&#10; &gt;phpdaemon&lt;/a&gt;这些一次加载的框架。总之减少加载文件，使用内置函数，减少损耗，以提升性能。&lt;br&gt;&#10;相比之下，PHP扩展的框架性能还是要比PHP语言框架还要好不少。以往PHP扩展的开发方式就是&lt;a class="link" href="http://www.laruence.com/2009/04/28/719.html" target="_blank" rel="noopener"&#10; &gt;C/C++&lt;/a&gt;，&lt;a class="link" href="http://www.ibm.com/developerworks/cn/opensource/os-php-swig/?ca=drs-cn-0301" target="_blank" rel="noopener"&#10; &gt;SWIG&lt;/a&gt;，现在还多了一个选择：&lt;a class="link" href="https://github.com/FTDC/zephir" target="_blank" rel="noopener"&#10; &gt;zephir&lt;/a&gt;，从Phalcon发展出来的项目，采用类似PHP语法的中间语言，将代码编译为高性能的C扩展。zephir支持面向对象编程，变量类型除了类似PHP的动态类型，还支持静态类型（有点像FackBook的&lt;a class="link" href="http://hacklang.org/" target="_blank" rel="noopener"&#10; &gt;hack&lt;/a&gt;了）,而且可以调用php内置或其他C扩展的函数。zephir编译流程如下&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/scheme.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="scheme" class="gallery-image" data-flex-basis="660px" data-flex-grow="275" height="109" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/scheme-300x109.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;整个过程是zephir和底层编译器自动进行编译优化的，当然也可以自己&lt;a class="link" href="http://zephir-lang.com/optimizers.html" target="_blank" rel="noopener"&#10; &gt;调整&lt;/a&gt;以获得更好的性能。&lt;br&gt;&#10;在ubuntu下的安装如&lt;a class="link" href="http://zephir-lang.com/install.html" target="_blank" rel="noopener"&#10; &gt;官方教程&lt;/a&gt;即可，在centos下的安装&lt;a class="link" href="https://github.com/zekiunal/ZephirInstallationCentos/blob/master/zephir.sh" target="_blank" rel="noopener"&#10; &gt;如下&lt;/a&gt;：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;su -c &lt;span style="color:#e6db74"&gt;&amp;#39;yum update&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y wget &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y vim &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y libtool&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y gcc &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y make &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y re2c&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y php55w &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y php55w-devel &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y php55w-json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y git-core &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/json-c/json-c.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd json-c&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./autogen.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make install&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/phalcon/zephir&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd zephir&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./install -c&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;zephir help&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装完成如下：&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/zephir10.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="zephir10" class="gallery-image" data-flex-basis="297px" data-flex-grow="123" height="242" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/zephir10-300x242.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;按照教程创建示例：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;zephir init utils&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd utils&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo vim utils/greeting.zep&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;greeting.zep代码如下：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;namespace&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;Utils&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;Greeting&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;static&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;function&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;say&lt;/span&gt;()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;echo&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;hello world!&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;编译安装&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ zephir build&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意，我在php5.3下面这么编译都不行，在php5.5/php5.4的版本基本没有碰到什么问题。&lt;br&gt;&#10;然后更改php.ini：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo vim /etc/php.ini&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在php.ini中加上以下内容&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;zephir编译的扩展需要依赖json.so，需要提前加载&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[json]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;如果php.ini中没有则加上，有则去掉;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;extension=json.so&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[utils]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;extension=utils.so &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看php可用扩展&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;php -i&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：如果提示’undefined symbol: php_json_decode_ex in Unknown on line 0’，则是php json扩展未加载，在php.ini打开就行了。加载了json.so后又提示’PHP Warning: Module ‘json’ already loaded’，则是已经在其他地方加载了该扩展，找出并注释掉。我的是在php.d下面的json.ini里面：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo vim /etc/php.d/json.ini&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[json]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;已经在php.ini中加载了，为避免重复加载注释掉&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;;extension = json&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;加载成功后的效果：&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/zephir3.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="zephir3" class="gallery-image" data-flex-basis="244px" data-flex-grow="102" height="294" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/zephir3-300x294.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;创建一个php脚本来试一下&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ~/utils&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo vim greeting.php&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;greeting.php代码如下：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;php&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;echo&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;Utils\Greeting&lt;/span&gt;&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;say&lt;/span&gt;(), &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;\n&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;保存并运行：&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/zephir11.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="zephir11" class="gallery-image" data-flex-basis="3130px" data-flex-grow="1304" height="23" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/zephir11-300x23.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/zephir5.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="zephir5" class="gallery-image" data-flex-basis="1014px" data-flex-grow="422" height="71" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/zephir5-300x71.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/zephir6.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="zephir6" class="gallery-image" data-flex-basis="947px" data-flex-grow="394" height="76" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/zephir6-300x76.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;至此你的zephir编译的扩展已经成功了，赶紧翻译你的PHP代码去吧。&lt;br&gt;&#10;参考这篇&lt;a class="link" href="http://www.pigo.idv.tw/archives/2641" target="_blank" rel="noopener"&#10; &gt;教程&lt;/a&gt;，计算斐波拉契数列在我的环境下是这样的：&lt;br&gt;&#10;&lt;a class="link" href="https://courages.us/wp-content/uploads/2015/05/zephir13.png" target="_blank" rel="noopener"&#10; &gt;&lt;img alt="zephir13" class="gallery-image" data-flex-basis="1636px" data-flex-grow="681" height="44" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://courages.us/wp-content/uploads/2015/05/zephir13-300x44.png" width="300"&gt;&lt;/a&gt;&lt;br&gt;&#10;性能提升还是挺明显的，而且在静态类型（强类型）下面还能比动态类型再提升。&lt;/p&gt;&#10;&lt;p&gt;参考链接：&lt;br&gt;&#10;&lt;a class="link" href="http://www.ideawu.net/blog/archives/828.html" target="_blank" rel="noopener"&#10; &gt;开源的 PHP 轻量级框架 iphp&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://www.imsiren.com/archives/572" target="_blank" rel="noopener"&#10; &gt;自己写PHP扩展之创建一个类&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://blog.csdn.net/heiyeshuwu/article/details/3453854" target="_blank" rel="noopener"&#10; &gt;快速开发一个PHP扩展&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://www.shayanderson.com/linux/centos-5-or-centos-6-upgrade-php-to-php-54-or-php-55.htm" target="_blank" rel="noopener"&#10; &gt;CentOS 5 or CentOS 6 Upgrade PHP to PHP 5.4 or PHP 5.5&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://www.pigo.idv.tw/archives/2641" target="_blank" rel="noopener"&#10; &gt;PHP 開發者應該將 Zephir 列為重要觀察的專案&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/" target="_blank" rel="noopener"&#10; &gt;Hack: a new programming language for HHVM&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://www.php-cpp.com/" target="_blank" rel="noopener"&#10; &gt;PHP-CPP&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://www.sitepoint.com/getting-started-php-extension-development-via-zephir/" target="_blank" rel="noopener"&#10; &gt;Getting Started with PHP Extension Development via Zephir&lt;/a&gt;&lt;br&gt;&#10;&lt;a class="link" href="http://www.sitepoint.com/quick-tip-install-zephir-phalcon-2-vagrant/" target="_blank" rel="noopener"&#10; &gt;Quick Tip: Install Zephir and Phalcon 2 on Vagrant&lt;/a&gt;&lt;/p&gt;&#10;</description></item></channel></rss>