• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何使用Zephir轻松构建PHP扩展

    简介

    比如,在 PHP 中需要与 SQLite3 交互,我们可以自己写方法与之进行连接,再写 SQL 语句请求数据。然而,这都是些既琐碎又重复度相当高的工作,因此,所有开发者对插件的需求呼之欲出。

    现在,这款插件已经诞生了。你只需像安装其他扩展一样进行安装,然后在 'php.ini' 文件执行 'extension=sqllite3.so',就可以在你的 php 项目里对 sqlite3 进行访问了。

    你该安装的第一个扩展

    Zephir

    官网文档给出的定义是:

    一种开源的高级语言,旨在简化 PHP 扩展的创建和可维护性,重点关注类型和内存安全性。

    特点:

    工作原理?

    把你写好的 php 代码编译成 c,然后你可以将其以扩展的形式添加到 'php.ini' 文件中。

    下面是编译方案的例子:

    编译方案

    让我们从 Hello world 的扩展开始吧。

    Zephir 安装

    配置要求:

    如果你是用 Ubuntu, 可以采取如下方式安装:

    sudo apt-get update
    sudo apt-get install git gcc make re2c php7.0 php7.0-json php7.0-dev libpcre3-dev

    参考下图命令,确认安装了较新的 PHP 版本:

    参考下图命令,确认有 PHP 开发库:

    然后

    git clone https://github.com/phalcon/zephir

    cd zephir

    ./install -c

    验证是否安装正确:

    zephir help

    如果一切就绪,你应该能在你的屏幕上看到以下帮助信息:

    扩展初始化:

    zephir init helloworld

    然后,一个名字为 “helloworld” 的目录在当前工作目录中被创建:

    扩展目录结构:

    添加我们的第一个类:

    在 helloworld 目录中.

    Zephir 的设计初衷是用来生成面对对象的扩展,接下来我们先添加一个初始类。

    我们先来在扩展中创建一个 helloworld 类,使用此类来渲染Hello World!。

    helloworld/helloworld/greeting.zep

    namespace HelloWorld;
    
    class Greeting
    {
    
        public static function say()
        {
            echo "Hello World!";
        }
    }

    接下来命令行执行以下命令来编译扩展:

    zephir build

    第一次运行以上命令时,会初始化一些东西。如果一些顺利的话,会输出以下内容:

    zephir build output

    检测下是否安装成功:

    在 PHP 代码中测试:

    zephir_helloworld.php

    ?php
    echo HelloWorld\Greeting::say()."\n";

    接下来运行命令:

    php zephir_helloworld.php

    你可以可以看到输出

    Hello World!

    结语

    如果你是 PHP 软件工程师,对内存管理等底层语言的编程方式不是特别熟悉,可以尝试从 Zephir 开始写一些简单的扩展。

    Zephir 内部已经做好了内存管理,但是基于其内存安全的设计,你无法使用 C 语言的强大手动内存管理功能,如果你是 C 程序员,你会觉得 Zephir 更加简单易用,但是在有些地方可能不够强大。

    以上就是如何使用Zephir轻松构建PHP扩展的详细内容,更多关于使用Zephir轻松构建PHP扩展的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • 如何理解PHP程序执行的过程原理
    • 如何使用PHP依赖管理工具Composer
    • 如何使用Casbin作为ThinkPHP的权限控制中间件
    • 详解php内存管理机制与垃圾回收机制
    • 浅谈PHP性能优化之php.ini配置
    • 详解PHP的7个预定义接口
    • 如何让PHP的代码更安全
    • 详解thinkphp的Auth类认证
    • 如何使用PHP7的Yaconf
    上一篇:如何用PHP导出PDF
    下一篇:详解PHP的7个预定义接口
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何使用Zephir轻松构建PHP扩展 如何,使用,Zephir,轻松,构建,