资源简介
linux下的php-cpp项目,这个项目生成动态链接库,使用这个动态链接库,可以快速地用C++开发php扩展。相比较php官方提供的,用c语言开发php扩展方案。php-cpp使得开发php扩展更加简单快捷。php-cpp官方目前只支持在类unix平台编译安装。还不支持在windows平台上的编译。本项目实现了将php-cpp项目完整地移植到windows平台

代码片段和文件信息
#include “phpcpp.h“
Php::Value my_plus(Php::Parameters ¶ms)
{
return params[0] + params[1] ;
}
void my_example()
{
// the C++ equivalent of the echo() function
Php::out << “example 1“ << std::endl;
// generate output without a newline and ensure that it is flushed
Php::out << “example 2\n“ << std::flush;
// or call the flush() method
Php::out << “example 3\n“;
Php::out.flush();
// just like all PHP functions you can call the echo() function
// from C++ code as well
Php::echo(“Example 4\n“);
Php::out.flush();
}
void my_echo()
{
// the C++ equivalent of the echo() function
Php::out << “my_echo test6“ << std::endl;
Php::out.flush();
}
Php::Value native_bubblesort(Php::Parameters ¶ms)
{
// there is one input array cast the PHP variable to a vector of ints
std::vector input = params[0];
// loop through the array
for (size_t i = 0; i < input.size(); i++)
{
// loop through the elements that were already processed
for (size_t j = 1; j < input.size() - i; j++)
{
// move on if smaller
if (input[j - 1] <= input[j]) continue;
// swap elements
int temp = input[j];
input[j] = input[j - 1];
input[j - 1] = temp;
}
}
// done
return input;
}
/**
* tell the compiler that the get_module is a pure C function
*/
extern “C“ {
/**
* Function that is called by PHP right after the PHP process
* has started and that returns an address of an internal PHP
* strucure with all the details and features of your extension
*
* @return void* a pointer to an address that is understood by PHP
*/
__declspec(dllexport) void *get_module()
{
// static(!) Php::Extension object that should stay in memory
// for the entire duration of the process (that‘s why it‘s static)
static Php::Extension extension(“myPhpcppExt1“ “1.0“);
// @todo add your own functions classes namespaces to the extension
//原项目中的add方法在重载时有点问题,现在将添加函数到扩展的功能重命名为 addFunc
extension.add(“my_plus“ {
Php::ByVal(“a“ Php::Type::Numeric)
Php::ByVal(“b“ Php::Type::Numeric)
});
extension.add(“my_example“);
extension.add(“my_echo“);
extension.add(“native_bubblesort“{ Php::ByVal(“input“ Php::Type::Array) });
// return the extension
return extension;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-08-02 20:00 php-cpp项目移值到windows的vs2017解决方案\
目录 0 2019-08-02 13:36 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\
文件 373 2019-08-02 11:41 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\install_ext.php
文件 2544 2019-08-02 13:34 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\main.cpp
文件 896 2019-07-30 20:45 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\myPhpcppExt.sln
文件 4273 2019-08-02 12:29 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\myPhpcppExt.vcxproj
文件 165 2019-07-30 20:35 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\myPhpcppExt.vcxproj.user
目录 0 2019-08-02 12:07 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\
目录 0 2019-08-02 13:33 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\
文件 4405 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\argument.h
文件 3029 2019-07-29 21:10 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\array.h
文件 1100 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\arrayaccess.h
文件 6746 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\ba
文件 1347 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\byref.h
文件 1345 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\byval.h
文件 7699 2019-07-28 19:29 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\call.h
文件 32464 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\class.h
文件 12114 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\classba
文件 816 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\classtype.h
文件 4029 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\constant.h
文件 682 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\countable.h
文件 566 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\deprecated.h
文件 1370 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\error.h
文件 1239 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\exception.h
文件 6219 2019-08-02 11:35 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\extension.h
文件 2110 2019-07-29 21:06 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\file.h
文件 2011 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\function.h
文件 3851 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\global.h
文件 1354 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\globals.h
文件 21440 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\hashmember.h
文件 2829 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\hashparent.h
............此处省略585个文件信息
- 上一篇:CA认证系统
- 下一篇:VC读取shapefile文件源码,处理点线面
相关资源
- C++头文件转delphi工具 + 源码
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
评论
共有 条评论