luna/vnstat

PHP包装命令行应用程序'vnstat'

1.1.1 2016-12-23 15:02 UTC

This package is auto-updated.

Last update: 2024-09-29 04:44:19 UTC


README

vnstat JSON输出解析器,用于PHP

StyleCI License Total Downloads

用法

use Luna\Vnstat\Vnstat;

class YourClass extends Awesomeness implements Ideas
{
  protected $interface = 'eth0';

  public function runWithStaticMethod()
  {    
    $jsonObject = Vnstat::get($this->interface);
  }
  
  public function runWithNewInstance()
  {
    $vnstat = new Vnstat($this->interface);
    $vnstat->run();
    
    $rawJson = $vnstat->getJson();
    $response = $vnstat->getResponse();
  }
}

方法

public function Vnstat::__construct(string $interface): void
public function Vnstat::get(string $interface): \Luna\Vnstat\VnstatResponse
public function Vnstat::getResponse(): \Luna\Vnstat\VnstatResponse
public function Vnstat::setExecutablePath(string $executable): $this
public function Vnstat::getExecutablePath(): string
public function Vnstat::setJson(string $json): $this
public function Vnstat::getJson(): string

错误/异常

如果Vnstat::getJson()返回的字符串不是有效的JSON字符串,则抛出Luna\Vnstat\Exceptions\InvalidJsonException

如果which vnstat失败,则抛出Luna\Vnstat\Exceptions\ExecutableNotFoundException

如果vnstat --query --json -i $interface失败,则抛出\Symfony\Component\Process\Exception\ProcessFailedException