thunderbirddeveloper/snakecharmer

SnakeHandler 是一个PHP包,用于在PHP环境中操作和执行Python脚本。该包允许您执行Python脚本、处理和管理结果。

1.1.0 2024-06-25 07:35 UTC

This package is auto-updated.

Last update: 2024-09-25 08:14:56 UTC


README

Snake Charmer 是一个简单的PHP类,用于方便地从PHP环境中执行Python脚本。它提供了运行Python脚本、向其传递参数和检索结果的方法。

功能

  • 轻松从PHP执行Python脚本。
  • 向Python脚本传递参数。
  • 以字符串或数组的形式检索结果。
  • 方便地清除脚本文件和结果。
  • 新增:支持将脚本执行结果保存到文件。
  • 新增:用于在内存和文件输出模式之间切换的方法。

安装

您可以通过Composer安装Snake Charmer。在您的终端中运行以下命令

composer require thunderbirddeveloper/snakecharmer

用法

以下是使用Snake Charmer的基本示例

<?php

require 'vendor/autoload.php';

use ThunderbirdDeveloper\Bifrost\SnakeCharmer;

// Instantiate SnakeCharmer
$snakeCharmer = new SnakeCharmer();

// Set the script file
$snakeCharmer->setScripts('example/helloworld.py');

// Run the script
$snakeCharmer->run();

// Set the new path for another python script directory
$snakeCharmer->setPath(dirname(__DIR__). "/scripts");

// Execute another script from "/scripts"
$snakeCharmer->execute('test.py');

// Get the result as a string
$result = $snakeCharmer->getResultAsString();
echo $result; // Output the result

SnakeCharmer类中可用的方法

setPath($path)

设置包含Python脚本目录的路径的方法。

setScripts($files, $clearResult = true)

设置要执行脚本的列表的方法。

run($params = '', $last = false)

执行脚本的方法,可选参数。

getResultAsString($separator = "\n")

将脚本执行结果作为单个字符串返回的方法。

getResultAsArray()

将脚本执行结果作为数组返回的方法。

switchOutputToFile()

将脚本执行结果保存到文件的方法。

switchOutputToMemory()

将脚本执行结果保存到内存的方法。

新功能

  • 文件输出模式:Snake Charmer现在可以将脚本执行输出保存到文件。使用switchOutputToFile()启用此模式。
  • 内存输出模式:默认模式,脚本结果存储在内存中。使用switchOutputToMemory()启用此模式。
  • 文件管理器集成:管理在文件模式下保存和检索脚本执行结果。

示例用例

您还可以添加一个部分,描述更复杂的使用案例,例如使用不同参数执行多个脚本、错误处理等。

测试

  1. 运行单元测试

SnakeCharmerTest.php 包含 SnakeCharmer 类的单元测试。

vendor/bin/phpunit test/SnakeCharmerTest.php
  1. 运行简单测试

SimpleTest.php 是一个脚本,演示如何使用 SnakeCharmer 类,而不是传统的单元测试文件。

php test/SimpleTest.php

运行这些命令时,请确保您的单元测试已正确定义,并已加载所有必要的依赖项,包括PHPUnit进行单元测试。

要求

  • PHP版本7.0或更高
  • 用于执行Python脚本的系统shell。

更改Snake Charmer版本

如果您需要更改Snake Charmer的版本,请按照以下步骤操作

  1. 编辑composer.json文件:打开项目中composer.json文件,并在require部分更新Snake Charmer的版本
"require": {
    "thunderbirddeveloper/snakecharmer": "^1.0.0"
}

根据语义版本控制规则更新版本号(例如,^1.0.0为MINOR更新,^1.1.0为MAJOR更新)。

  1. 更新库:然后运行Composer更新库到新版本
composer update thunderbirddeveloper/snakecharmer

重新安装

如果您需要通过Composer重新安装Snake Charmer,请在您的终端中运行以下命令

composer remove thunderbirddeveloper/snakecharmer

许可证

本项目采用MIT许可证授权 - 请参阅LICENSE文件获取详细信息。

作者

Damian Łukasik 08.02.2024