zephir 实现PHP封装成C语言扩展文件so实现demo简单案例【菜鸟级教程】

  1. 从github 安装 zephir.phar 最新网址 https://github.com/zephir-lang/zephir/releases

  2. 将文件改名 zephir.phar 改名为 zephir 放到 /bin 目录下

  3. 查看是否安装

    zephir help
    
  4. 安装 zephir_parser

    pecl install zephir_parser
    

    增加扩展到 php.ini .重新加载

    extension=zephir_parser.so
    
  5. 执行 初始化

    zephir init  app    //  app为命名空间
    
  6. 进入 app 目录 有文件 config.json , ext 目录 , app 目录

  7. 写一个简单PHP 案例

    namespace App;
    
    class MyClass
    {
        public static function sayHello()
        {
            return "Hello from Zephir!";
        }
    }
    
  8. 执行build 打包 等待打包到ext 目录

    zephir build 
    

    执行结果

    Preparing for PHP compilation...
     Preparing configuration file...
     Compiling...
     Zephir version has changed, use "zephir fullclean" to perform a full clean of the project
     Installing...
    
     Extension installed.
     Add "extension=app.so" to your php.ini
    ! [NOTE] Don't forget to restart your web server 
    
  9. 进入ext 执行install 安装到PHP 环境 so , 并重启PHP 服务

  10. 新建一个PHP文件

    echo  App\MyClass::sayHello();
    
  11. 正常显示 Hello from Zephir!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个使用 Zephir 编写的简单PHP 扩展示例: 1. 首先,创建一个名为 `hello` 的文件夹,该文件夹包含以下内容: ``` hello/ ├── ext/ │ └── config.m4 │ └── hello.zep │ └── php_hello.h ├── hello.php └── php.ini ``` 2. 在 `ext` 目录下创建一个名为 `config.m4` 的文件,并将以下内容添加到该文件中: ```m4 PHP_ARG_ENABLE(hello, whether to enable Hello support, [ --enable-hello Enable Hello support]) if test "$PHP_HELLO" = "yes"; then PHP_SUBST(HELLO_SHARED_LIBADD) PHP_NEW_EXTENSION(hello, hello.zep, $ext_shared) fi ``` 3. 在 `ext` 目录下创建一个名为 `hello.zep` 的文件,并将以下内容添加到该文件中: ```zephir namespace Hello; function sayHello() -> void { echo "Hello, world!"; } ``` 4. 在 `ext` 目录下创建一个名为 `php_hello.h` 的文件,并将以下内容添加到该文件中: ```c #ifndef PHP_HELLO_H #define PHP_HELLO_H 1 #include "php.h" extern zend_module_entry hello_module_entry; #define phpext_hello_ptr &hello_module_entry #endif ``` 5. 在 `hello` 目录下创建一个名为 `hello.php` 的文件,并将以下内容添加到该文件中: ```php <?php if (!extension_loaded('hello')) { dl('hello.' . PHP_SHLIB_SUFFIX); } Hello\sayHello(); ``` 6. 在 `hello` 目录下创建一个名为 `php.ini` 的文件,并将以下内容添加到该文件中: ```ini extension=hello ``` 7. 在命令行中导航到 `hello/ext` 目录,并运行以下命令来编译并安装扩展: ``` zephir build sudo make install ``` 8. 在命令行中导航到 `hello` 目录,并运行以下命令来运行 PHP 脚本: ``` php hello.php ``` 输出应该是 `Hello, world!`。 这是一个非常简单的示例,但它可以让您了解如何使用 Zephir 编写 PHP 扩展。您可以使用更复杂的代码来构建更高扩展
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joe.Xie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值