封装模块
phpy 使用反射工具自动将所有 PHP 扩展函数和类生成了封装模块,包名称为 php 可以直接使用
from php import [ext-name]
来导入 PHP 扩展中定义的常量、函数、类。
命名规则
- 模块名称全部使用小写,例如
PDO,对应的模块为php.pdo - 标准库函数在
php.std模块中,例如php.std.file_get_contents() - 语言核心函数在
php.core模块中,例如php.core.get_included_files() - 函数前缀与扩展名称一致时,则省略扩展名称前缀,例如
php.curl.curl_init()应简写为php.curl.init() - 类名使用命名空间并且与扩展名称一致时,将转为驼峰类名,例如
Swoole\Http\Server为php.swoole.HttpServer - 函数名称使用了命名空间,将转为蛇形函数名,例如
MongoDB\BSON\fromJSON为php.mongodb.bson_fromjson - 函数或方法名称是
Python关键词,将自动添加下划线前缀,例如gmp_import为php.gmp._import
对象实例
from php import redisdb = redis.Redis()db.connect("127.0.0.1", 6379, -1)db.set("key", "swoole")print(db.get("key"))
函数实例
from php import stdimport phpyerrno = phpy.Reference()errstr = phpy.Reference()rs = std.stream_socket_client('tcp://127.0.0.1:9999', errno, errstr, 30)
