当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Zephir

PHP 的 C 扩展
授权协议 MIT
开发语言 C/C++ PHP
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 金毅
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Zephir 是一个开源的,可以用高级语言安全快速地编写 PHP 的 C 扩展。

Phalcon 2.0 已经改用 Zephir 重写。 

根据 Phalcon 团队发布的博文: Phalcon 2.0 progress + benchmarks;可以做到跟用C写几乎一样的性能(甚至更好一点)。

  • 概述 Zephir的语法跟PHP很相似,所以这里不会把官网的文档照搬过来翻译一遍,而是会把一些Zephir相较于PHP比较特别的语法挑出来讲一下。如果想要要完整学习Zephir的语法,没有比官网的文档更好的地方了。 基本语法 Zephir的文件后缀名为zep,每个文件都必须包含且只能包含一个类。每个类必须有一个命名空间,且目录结构必须跟类名和命名空间匹配。例如下面的目录结构: mylibrary/

  • Zephir 是一个开源的用于简化PHP扩展的创建和维护的语言。它使得不擅长C/C++的PHP开发人员也能写出PHP扩展。Zephir是Zend Engine/PHP/Intermediate缩写,读音为zephyr。 Zephir在语法上跟PHP有很多相似之处,PHP开发人员可以很快上手,但也有很多地方上的不同需要我们去学习。下面是Zephir一些主要的特色:变量类型:动态/静态 内存安全:不允

  • windows软件准备 wamp集成环境,扩展安装php5.6.40 (也可以用编译安装的目录php.exe) ,教程>>>https://blog.csdn.net/u011242029/article/details/80058770 php-sdk-binary-tools-20110915.zip (http://windows.php.net/downloads/php-sdk/下载)

  • window zephir Due to PHP being written in C, for a long time now the only way to extend it was to either rely on the current generation of enthusiastic greybeards, or take up C. For many, the latter w

  • 入门指导 Zephir还有这本手册,是为了PHP开发者想开发C扩展并降低复杂度面打算的。 我们假设你有编程语言的基础。我们会在介绍的时候尽可能的向PHP,C,Javascript等语言的特点来陈述。 如果你懂得这些语言中的某一种的话,我们会指出它们来Zephir的相似点。当然其它的一些Zephir的新特性还有 不同点我们也会一一介绍。 检测安装情况 如果你成功的安装了Zephir,你可以在命令行中

  • Zephir安装 前置条件 根据官方文档,安装和使用Zephir之前需要准备好这些软件和库 gcc >= 4.x/clang >= 3.x re2c 0.13 or later gnu make 3.81 or later autoconf 2.31 or later automake 1.14 or later libpcre3 php development headers and tools

  • Zephir - 是一种高级编程语言,可简化 PHP 扩展的创建和可维护性。Zephir 扩展导出为 C 代码,可以通过 gcc/clang/vc++ 等主要 C 编译器进行编译和优化。功能暴露给 PHP 语言。 GitHub https://github.com/zephir-lang/zephir Zephir Parser https://github.com/zephir-lang/php

  • #zephir-你的第一个PHP拓展#![](http://i.imgur.com/OuZmZ0R.png)##前言##***先在这里感谢各位zephir开源技术提供者***在之前的介绍中大家不仅了解了zephir具体是一个什么样的语言,也get到了它的安装方式,成功安装到自己的系统上了.今天让我们来一同编写之前我们演示过的一些拓展让我们来一同动起手来尝试一下.**注:笔者水平有限,说的不正确的地

  • 如果你时常关注PHP框架Phalcon,那么应该知道Phalcon的团队为了更好的开发Phalcon,开发了一门高级语言——Zephir。 Zephir,一种开源的高级语言,旨在简化PHP扩展的创建和可维护性,重点关注类型和内存安全性。 如果你没有C/C++语言的基础,又需要以PHP扩展的方式开发业务,那么可以选择Zephir。 使用Zephir开发扩展的环境很容易搭建,按照官方文档步骤,可以很快

  • 使用zephir调用php扩展库或内置函数库 zephir官网 github库 zephir文档 zephir提供了一种可以使用高级语言写php扩展的方法。 安装方法在github的readme中和文档中介绍的很清晰。 本文主要分享一个简单的demo,使用zephir可以调用php内置函数库,可以调用php的其他扩展库,同时也可以调用用户用php语言写的php函数。 zephir示例代码: nam

  • 警告规则 (如):Declaration of xxxxxx should be compatible with yyyyyy PhalconPlus1.2.0扩展在PHP7上编译安装后出现的Notice级别警告如下NOTICE: PHP message: PHP Warning: Declaration of PhalconPlusAppApp::getModule(string $name =

 相关资料
  • 10 Node.js 的 c++ 扩展 Node 的优点是处理 IO 密集型操作,对于互联网应用来说,很大一部分内容都是 IO 处理(包括文件 IO和网络IO),但是还是有部分功能属于计算密集型操作。如果遇到这种计算密集型操作,推荐的解决方案是使用其他语言来实现,然后提供一个服务,让 Node 来进行调用。不过我们这章要讲的是 Node 的 C++ 扩展,也就是说,我们可以通过这种方式是 Node

  • 类扩展与类别有一些相似之处,但它只能添加到编译时具有源代码的类中(类与类扩展同时编译)。 类扩展声明的方法是在原始类的实现块中实现的,因此不能在框架类上声明类扩展,例如或类,如。 扩展名实际上是没有类别名称的类别,它通常被称为匿名类别。 声明扩展的语法使用关键字,就像标准的Objective-C类描述一样,但不表示子类的任何继承。 它只是添加括号,如下所示 - 扩展的特征 不能为任何类声明扩展,仅

  • 本文向大家介绍C#中的扩展方法,包括了C#中的扩展方法的使用技巧和注意事项,需要的朋友参考一下 扩展方法是静态方法,就像它们是扩展类型的实例方法一样被调用。使用扩展方法,您可以将方法添加到现有类型中,而无需创建新的派生类型,重新编译或修改原始类型。 以下是我们创建的扩展方法。 让我们看一个使用扩展方法的例子。 示例 输出结果

  • 本文向大家介绍Node.js Addons翻译(C/C++扩展),包括了Node.js Addons翻译(C/C++扩展)的使用技巧和注意事项,需要的朋友参考一下 PS:请先升级Node 6.2.1,Node 升级命令 npm install -g n;n stable.NOde.js扩展是一个通过C/C++编写的动态链接库,并通过Node.js的函数require()函数加载,用起来就像使用一个

  • 本文向大家介绍PyTorch中的C++扩展实现,包括了PyTorch中的C++扩展实现的使用技巧和注意事项,需要的朋友参考一下 今天要聊聊用 PyTorch 进行 C++ 扩展。 在正式开始前,我们需要了解 PyTorch 如何自定义module。这其中,最常见的就是在 python 中继承torch.nn.Module,用 PyTorch 中已有的 operator 来组装成自己的模块。这种方式

  • 本文向大家介绍Python扩展C/C++库的方法(C转换为Python),包括了Python扩展C/C++库的方法(C转换为Python)的使用技巧和注意事项,需要的朋友参考一下 参考网址:https://www.shanlily.cn/archives/330 一、简介 Python是个非常流行的解释型脚本语言。而C是一个非常流行的编译语言。由于其编译的性质,导致C一般比Python要快,但是它

  • 当使用原生 MicroPython 进行开发时,你可能会遇到这样一些限制,比如官方没有实现自己想要的功能,或者你觉得这些实现不符合自己的工作需求。此时,添加自己的 C 模块到 MicroPython 中是一个不错的选择,你可以按照自己的想法,设计适合自己的 Python 函数调用。 为了帮助各位开发者快速添加 C 模块,RT-Thread 提供了相应的辅助工具 C 绑定代码自动生成器。该工具可以帮

  • 问题 你想不依靠其他工具,直接使用Python的扩展API来编写一些简单的C扩展模块。 解决方案 对于简单的C代码,构建一个自定义扩展模块是很容易的。 作为第一步,你需要确保你的C代码有一个正确的头文件。例如: /* sample.h */ #include <math.h> extern int gcd(int, int); extern int in_mandel(double x0, d