thunderbirddeveloper / snakecharmer
SnakeHandler 是一个PHP包,用于在PHP环境中操作和执行Python脚本。该包允许您执行Python脚本、处理和管理结果。
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: ^9
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()启用此模式。
- 文件管理器集成:管理在文件模式下保存和检索脚本执行结果。
示例用例
您还可以添加一个部分,描述更复杂的使用案例,例如使用不同参数执行多个脚本、错误处理等。
测试
- 运行单元测试
SnakeCharmerTest.php 包含 SnakeCharmer 类的单元测试。
vendor/bin/phpunit test/SnakeCharmerTest.php
- 运行简单测试
SimpleTest.php 是一个脚本,演示如何使用 SnakeCharmer 类,而不是传统的单元测试文件。
php test/SimpleTest.php
运行这些命令时,请确保您的单元测试已正确定义,并已加载所有必要的依赖项,包括PHPUnit进行单元测试。
要求
- PHP版本7.0或更高
- 用于执行Python脚本的系统shell。
更改Snake Charmer版本
如果您需要更改Snake Charmer的版本,请按照以下步骤操作
- 编辑composer.json文件:打开项目中
composer.json
文件,并在require
部分更新Snake Charmer的版本
"require": { "thunderbirddeveloper/snakecharmer": "^1.0.0" }
根据语义版本控制规则更新版本号(例如,^1.0.0为MINOR更新,^1.1.0为MAJOR更新)。
- 更新库:然后运行Composer更新库到新版本
composer update thunderbirddeveloper/snakecharmer
重新安装
如果您需要通过Composer重新安装Snake Charmer,请在您的终端中运行以下命令
composer remove thunderbirddeveloper/snakecharmer
许可证
本项目采用MIT许可证授权 - 请参阅LICENSE文件获取详细信息。
作者
Damian Łukasik 08.02.2024