PHP扩展开发之实现 require PHP文件功能

来源:互联网 发布:微信屏蔽了淘宝链接 编辑:程序博客网 时间:2024/04/27 20:43
我想实现的是:

<?php

$var=require("1.php");
var_dump($var);


其中,1.php是:

<?php

return array(
" something"
);

通过zend_execute_scripts实现.这个函数在php-src/Zend/zend.c 中定义
ZEND_FUNCTION(classobj_test_require)
{
zval* retval;
zend_file_handle zfd;
zfd.type = ZEND_HANDLE_FILENAME;
zfd.filename = "3.php";//可以是相对,绝对路径(只在linux下测试了~)
zfd.free_filename = 0;
zfd.opened_path = NULL;
zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC,&retval,1,&zfd);
php_var_dump(&retval,1 TSRMLS_CC);
}

当然倒数第二行处的第一个参数可以换成ZEND_REQUIRE_ONCE
0 0
原创粉丝点击