定制 smalot/expect 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

smalot/expect

最新稳定版本:v0.1

Composer 安装命令:

composer require smalot/expect

包简介

Allows to interact with processes through PTY.

README 文档

README

Use of 'proc_open' to simulate expect behavior. That's a mix between 'expect' command line tool and the PHP library: http://php.net/manual/fr/book.expect.php

Sample code

<?php

use Smalot\Expect\Expect;

$expect = new Expect();
$expect->open('telnet 192.168.59.103 4002');

while (1) {
	switch ($expect->expect(
	  array(
		'escape'       => array('/.*Escape character.*\n/mis', Expect::EXP_REGEXP),
		'command line' => array('/.+#/', Expect::EXP_REGEXP),
	  ),
	  $match
	)) {
		case 'escape':
			var_dump('escape', $match);
			$expect->write('');
			break;

		case 'command line':
			var_dump('command line', $match);
			$expect->write('show cdp');
			break 2;

		case Expect::EXP_TIMEOUT:
			die('timeout');

		case Expect::EXP_EOL:
			die('eol');
	}
}

while (1) {
	switch ($expect->expect(
	  array(
		'command line' => array('/(.*)[\r\n]+([^\n]+#)/mis', Expect::EXP_REGEXP),
	  ),
	  $match
	)) {
		case 'command line':
			var_dump('result', $match);
			break 2;

		case Expect::EXP_TIMEOUT:
			die('timeout');

		case Expect::EXP_EOL:
			die('eol');
	}
}



$expect->close();


?>

统计信息

  • 总下载量: 25
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-03-18