3

一、引言

PHPy 是一款强大的 PHP 扩展,它允许开发人员在 PHP 程序中直接调用 Python 代码。通过 PHPy,您可以将 Python 的强大功能(如数据分析、机器学习等)无缝集成到 PHP 应用程序中,为您的项目带来无限可能。

衔接上一篇文章内容: phpy入门:让PHP平滑使用Python的生态

二、使用实践

假设您有一个 Python 文件 a.py,其中定义了一个名为 hello 的函数。下面是如何在 PHP 中使用 PHPy 来调用这个函数。

步骤 1: 创建 Python 文件

首先,创建一个名为 a.py 的 Python 文件,其中包含 hello 函数:

# a.py
def hello():
    print("Hello from Python!")
步骤 2: 编写 PHP 脚本

接下来,编写一个 PHP 脚本来调用上述 Python 函数。在这个例子中,我们需要使用 PHPy 的 PyCore 类来导入 Python 文件,并调用其中的函数。

<?php


// 设置 Python 路径
PyCore::import('sys')->path->append(__DIR__);

// 导入 Python 文件
$a = PyCore::import("a");

// 调用 Python 函数
$a->hello();

?>
步骤 3: 运行 PHP 脚本

运行上面的 PHP 脚本,您应该能看到来自 Python 函数的输出。

➜  tmp git:(main) ✗ php phpy.php
Hello from Python!

三、IDE 配置

如果您使用的是 PHPStorm 或其他支持 PHP 的 IDE,可能会遇到 IDE 无法识别 PyCore 类的情况。这是因为 IDE 需要额外的帮助来理解 PHPy 的类型信息。

解决方案
  1. 克隆 PHPy stubs

  2. 添加到 IDE 的 Include Path

    • 将克隆下来的 stubs 目录添加到 PHPStorm 的 Include Path 中。

对于 PHPStorm,具体步骤如下:

  1. 打开 PHPStorm。
  2. 前往 File -> Settings -> Project: YourProjectName -> Project Interpreter
  3. 点击右下角的齿轮图标,选择 Show All
  4. 在弹出的窗口中点击 +,选择 From ComposerAdd Directory... 并指向克隆下来的 stubs 目录。
  5. 确认设置,IDE 就能识别 PHPy 的类型信息了。

四、总结

通过本文您现在应该能够安装和使用 PHPy 扩展,并开始探索 PHP 和 Python 结合的可能性。PHPy 为 PHP 开发者提供了一种简单的方法来利用 Python 的强大功能。无论是进行数据分析还是构建复杂的机器学习模型,PHPy 可以让这些任务变得更加轻松。


作者: 汤青松
日期: 2024年8月20日
微信: songboy8888


汤青松
5.2k 声望8.3k 粉丝

《PHP Web安全开发实战》 作者