PHP code example of fred / laravel-slack

1. Go to this page and download the library: Download fred/laravel-slack library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

fred / laravel-slack example snippets


$app->register(Fred\SlackService\SlackServiceProvider::class);

'providers' => [
    //...
    
    Fred\SlackService\SlackServiceProvider::class,
];

return [
    // 可設定多組 client 面對不同的 slack channel 及用途
    // key 值必需做區分
    'clients'   =>  [
        // 'clientName' => []
        // service provider 將綁定名稱為 "slack-{client_name}" 的 instance 在 container 中
        'error-report' => [
            'endpoint' => 'https://hooks.slack.com/services/xxxxxxx',  // slack web hook url
            'channel'  => 'my-test-channel',                           // slack channel
            'username' => 'Error Report'                               // slack messages' user name
        ],
        'custom-name' => [
            // 其他組 slack client 設定
        ],
    ],
];

$slack = app('slack-error-report');
$slack->compose(function (Message $message) {
    $message->setText('slack message sending!');
    return $message;
})->send();

$slack = app('slack-error-report');
$slack->compose(function (Message $message) {
    // 產生 MessageComposer 物件    
    $messageComposer = new Fred\SlackServiceProvider\MessageComposer($message);
    
    // 套用模板所需的參數和值,預設使用 Exception template
    $data = [
        'exceptionContent' => 'Invalid user id',
        'requestContent' => 'https://oobox.com.tw',
        'envContent' => 'testing',
        'timeContent' => Carbon\Carbon::now()->toDateTimeString(),
        'traceContent' => "error trace code",
    ];
    $messageComposer->apply($data);
    return $messageComposer->getMessage();
})->send();

// ...

// 產生 MessageComposer 物件    
$messageComposer = new Fred\SlackServiceProvider\MessageComposer($message);

// 帶入自定義的模板路徑
$messageComposer->useTemplate('/path/to/template');

// 後續組成資料
$data = [];
$messageComposer->apply($data);
return $messageComposer->getMessage();

// ...