首页 > 作文

使用 Zephir 轻松构建 PHP 扩展

更新时间:2023-04-07 21:20:31 阅读: 评论:0

简介:

通过 php 扩展, 我们可以在 php 代码中使用一些特定的方法(大部分的 php 扩展都是用 c 写的)。

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

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

你该安装的第一个扩展

zephir:

官网文档给出的定义是:

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

特点:

类型:动态 / 静态。内存安全性:不允许指针或者直接内存管理。编译模式:提前编译。内存模型:本地任务垃圾回收机制。

工作原理?

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

下面是编译方案的例子:

编译方案

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

zephir 安装

配置要求:

gcc >= 4.x/clang >= 3.脑筋急转弯1xre2c 0.13 or latergnu make 3.81 or laterautoconf 2.31 or 老师我想对您说 作文laterautomake 1.14 or laterlibpcre3php development headers and toolsre2cphp-zephir-parr

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

sudo apt-get updatesudo 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” 的目录在当前工作目录中被创建:

扩展目录结构:

ext:包含被编译器用来生成扩展的代码。helloworld:这个目录与我们的扩展同名。我们在这个目录中放置 zephir 代码。config.json:这个文件包含我们可用于更改 zephir 与 / 或此扩展的行为的配置

添加我们的第一个类:

在 helloworld 目录中.

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

我们先来在扩展中创建一个 helloworld 类,使用此类来渲染hello world!医生简历。

helloworld/helloworld/greeting.zep

 1 namespace helloworld; 2  3 class greeting 4 { 5  6     public static function say() 7     { 8         echo "hello world!"; 9     }10 }

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

zephir build

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

zephir build output

检测下是否安装成功:

在 php 代码中测试:

zephir_helloworld.php

<?phpecho helloworld\greeting::say()."\n";

接下来运行命令:

php zephir_helloworld.php

你可以可以看到输出hello world!

结语

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

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

本文发布于:2023-04-07 21:20:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b59ba41b27a88e639f025db1b40fef3e.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:使用 Zephir 轻松构建 PHP 扩展.doc

本文 PDF 下载地址:使用 Zephir 轻松构建 PHP 扩展.pdf

标签:你是   命令   代码   内存管理
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图