bcrowe/growl

使用PHP实现的Growl通知。

2.0.3 2016-03-12 00:12 UTC

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

本软件包旨在提供一种简单流畅的接口,用于构建和执行各种桌面通知程序的命令。

要求

PHP 5.4+ 以及以下任一通知程序

OS X

Growl & GrowlNotify

terminal-notifier

$ gem install terminal-notifier
$ brew install terminal-notifier

Linux

notify-send

$ apt-get install libnotify-bin
$ yum install libnotify

Windows

Growl & GrowlNotify

安装

Composer

$ composer require bcrowe/growl

使用

创建一个新的Growl类实例。您可以可选地提供一个Builder类及其路径,如果您不希望软件包根据您的系统选择通知程序。

<?php
use BryanCrowe\Growl\Growl;

$Growl = new Growl;

// Or...

use BryanCrowe\Growl\Growl;
use BryanCrowe\Growl\Builder\GrowlNotifyBuilder;

$Growl = new Growl(new GrowlNotifyBuilder('/usr/local/bin/growlnotify'));
?>

现在,您可以使用setOption()setOptions()方法设置用于Builder的关键/值选项。设置选项后,最后要做的就是使用buildCommand()或使用execute()运行构建的命令。

<?php
(new Growl)
    ->setOption('title', 'Hello World')
    ->setOption('message', 'How are you doing?')
    ->setOption('sticky', true)
    ->execute();

// Or...

$Growl = new Growl;
$Growl->setOptions([
        'title' => 'Hello World',
        'message' => 'How are you doing?',
        'sticky' => true
    ])
    ->buildCommand();

exec($Growl);
?>

默认情况下,此软件包将转义所有作为选项提供的命令参数。如果您想更改此设置,有两种选择。或者完全禁用转义,或者提供一个安全列表,其中包含在启用转义时将被绕过的选项键。

<?php
// Completely disable escaping...
(new Growl)
    ->setOptions([
        'title' => 'Hello World',
        'message' => 'How are you doing?',
        'url' => 'http://www.google.com'
    ])
    ->setEscape(false)
    ->execute();

// Set a safe-list of option keys. Can be an array of option keys, or a string.
(new Growl)
    ->setOptions([
        'title' => 'Hello World',
        'message' => $mySafeMessage,
        'url' => $mySafeURL
    ])
    ->setSafe(['message', 'url'])
    ->execute();
?>

构建器

GrowlNotifyBuilder & GrowlNotifyWindowsBuilder

growlnotify构建命令。

可用的选项键

  • title 字符串 Growl的标题。
  • message 字符串 Growl的内容。
  • sticky 布尔值 是否让Growl粘性,直到关闭为止。
  • image 字符串 要使用的应用程序图标的名称,例如,“邮件”(仅限OS X),系统文件路径(OS X和Windows),或图片URL(仅限Windows)。
  • url 字符串 如果点击Growl将打开的URL。

TerminalNotifierBuilder

terminal-notifier构建命令。

可用的选项键

  • title 字符串 通知的标题。
  • subtitle 字符串 通知的副标题。
  • message 字符串 通知的内容。
  • image 字符串 要用作图标的图片URL。(仅限OS X Mavericks+)
  • contentImage 字符串 要在通知正文中使用的图片URL。(仅限OS X Mavericks+)
  • url 字符串 当点击通知时访问的URL。

NotifySendBuilder

notify-send构建命令。

可用的选项键

  • title 字符串 通知的标题。
  • message 字符串 通知的内容。
  • sticky 布尔值 是否让通知粘性,直到关闭为止。

变更日志

请参阅CHANGELOG获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅CONTRIBUTINGCONDUCT获取详细信息。

安全

如果您发现任何安全问题,请通过电子邮件bryan@bryan-crowe.com联系,而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件