patrolserver/patrol-laravel

实现 PatrolServer SDK 的包

1.1.0 2016-02-25 12:42 UTC

This package is not auto-updated.

Last update: 2024-09-18 10:53:03 UTC


README

一个 Laravel 4/5 包,可以将 PatrolServer PHP SDK 集成到您的项目中。

要求

PHP 5.3.3 及更高版本。

Laravel 5.x。

安装

您可以使用 Composer 安装此包。您可以在 Laravel 根目录下运行以下命令来安装:

composer require patrolserver/laravel-patrol

Laravel

此包提供了一个门面,以便轻松集成。

只需将 PatrolServer\Patrol\PatrolServiceProvider 提供者添加到 config/app.php 文件中的 providers 数组中。

'providers' => [
  ...
  'PatrolServer\Patrol\PatrolServiceProvider',
],

并将 Patrol 别名添加到 config/app.php 中,以便访问门面

'aliases' => [
  ...
  'Patrol' => 'PatrolServer\Patrol\Facades\Patrol',
],

配置文件

您必须在配置文件中输入 API 密钥和密钥。要发布此文件

php artisan vendor:publish --provider="PatrolServer\Patrol\PatrolServiceProvider"

当配置成功发布后,将在应用程序的配置文件夹中生成一个名为 patrol.php 的文件,您可以在该配置文件中输入您的 API 凭据和其他各种选项。

示例

SDK

您可以使用 Patrol 门面访问您的数据,该门面是 SDK 对象的包装函数。有关可用选项和更多信息,请参阅 PatrolServer API 文档 页面。

$user = Patrol::user();

$servers = Patrol::servers();

foreach ($servers as $server) 
{
    Log::info($server);
}

Webhook

Webhook 是实时事件,每当在 PatrolServer 中发生事件时都会通知您。例如,您的服务器完成扫描并出现新的问题。Webhook 将被触发,作为开发者,您现在可以基于这些新信息进行交互。

在您的 routes.php 文件中,添加以下规则

Route::post('patrolserver/webhook', 'PatrolServerController@webhook');

在您的控制器中,您现在可以定义 webhook 函数。以下是如何使用 SDK 的快速示例

<?php App\Http\Controllers;

use Illuminate\Routing\Controller;
use Patrol;
use Log;

class PatrolServerController extends Controller 
{
	public function webhook() 
	{
		Patrol::webhook('new_server_issues', function ($event) 
		{
    		$server_id = array_get($event, 'server_id');

			if (!$server_id)
				Log::info('Server could not be found');

			$server = Patrol::get('servers/' . $server_id);
			Log::info($server);
		});

		Patrol::webhook('test', function ($event) 
		{
			Log::info($event);
		});
	}
}

自动更新 Laravel 依赖项

此 Laravel 包提供了一种简单的方法来更新您的 Laravel 依赖项,当它们过时时。一旦包过时,PatrolServer 将向您的 Laravel 安装发送命令,并在您的根目录中执行 composer update 命令。

1. 每天运行命令一次

该包包含一个命令,通过在终端中运行 php artisan patrol:run 将所有安装的 Laravel 依赖项发送到 PatrolServer。如果您有一个运行中的 cronjob,该 cronjob 启动 Scheduler,您只需在您的 Kernel 文件中的调度函数中添加以下行即可。

protected function schedule(Schedule $schedule)
{
    // This command will scan your modules on a daily basis, at midnight.
	$schedule->command('patrol:run')->dailyAt('00:00');
}

2. 启用默认 webhook

打开配置文件,将 enable_webhooks 设置为 true。这将启用包含自动更新代码的 URL 端点 (http://mywebsite.com/patrolserver/webhook)。

3. 将端点添加到您的账户

登录到 https://app.patrolserver.com,并转到 API 页面。您的 webhook URL 将采用以下格式 http://mywebsite.com/patrolserver/webhook。将您的 URL 添加到 webhook 部分,您就可以开始了。

一旦正确配置了自动更新,以下事件将会发生:每天午夜,您的服务器将软件包及其版本发送到 PatrolServer 扫描器。一旦服务器被扫描,就会在您的 patrolserver/webhook URL 触发 webhook,当包过时,包将触发 composer 更新这些。

Analytics