😊
zephir開発環境
インストール
必要なパッケージのインストール
yum install -y git gcc gcc-c++ make autoconf automake zip unzip wget tar httpd
systemctl start httpd
systemctl enable httpd
reboot
re2c
最新をチェック
cd /usr/local/src
wget https://github.com/skvadrik/re2c/releases/download/1.3/re2c-1.3.tar.xz
tar Jxfv re2c-1.3.tar.xz
cd re2c-1.3
./configure
make
make install
re2c -v
PHP7
yum install -y php php-devel php-mbstring php-pdo php-gd php-xml php-json php-opcache php-apcu php-gmp php-zip
php -v
php-zephir-parser
cd /usr/local/src
git clone git://github.com/phalcon/php-zephir-parser.git
cd php-zephir-parser
phpize
./configure
make
make install
vi /etc/php.d/50-php-zephir-parser.ini
[Zephir Parser]
extension=zephir_parser.so
php -m
composer
cd /usr/local/src
curl -sS https://getcomposer.org/installer | php
cp /usr/local/src/composer.phar /usr/local/bin/composer
composer --version
zephir
cd /usr/local/src
git clone --depth 1 -b $(git ls-remote https://github.com/phalcon/zephir 0.12.* | sort -t/ -k3 -Vr | head -n1 | awk -F/ '{ print $NF }') https://github.com/phalcon/zephir
cd zephir
composer install
vi /etc/profile
export PATH=$PATH:/usr/local/src/zephir
source /etc/profile
開発手順
プロジェクト作成
zephir init [任意のモジュール名]
cd [任意のモジュール名]
ソース配置
vi [任意のモジュール名]/[任意のクラス名].zep
namespace [任意のモジュール名(キャメルケース)];
class [任意のクラス名]
{
public static function say()
{
echo "hello world!";
}
}
設定変更
vi config.json
internal-call-transformation: true
コンパイル
zephir fullclean
zephir build
モジュール登録
vi /etc/php.d/[任意のモジュール名].ini
; Enable [任意のモジュール名] extension module
extension=[任意のモジュール名]
systemctl restart php-fpm
php -m
Makefile
vi MakeFile
build:
zephir fullclean
zephir build
systemctl restart php-fpm
Discussion