Laravel Slack 项目教程

随笔3个月前发布 我是乖宝
47 0 0

Laravel Slack 项目教程

laravel-slack:hash: Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.项目地址:https://gitcode.com/gh_mirrors/la/laravel-slack

1. 项目的目录结构及介绍

  1. laravel-slack/

  2. ├── src/

  3. │ ├── Channels/

  4. │ │ └── SlackWebhookChannel.php

  5. │ ├── Commands/

  6. │ │ └── SlackTestCommand.php

  7. │ ├── Config/

  8. │ │ └── slack.php

  9. │ ├── Notifications/

  10. │ │ └── SlackNotification.php

  11. │ ├── Providers/

  12. │ │ └── SlackServiceProvider.php

  13. │ └── Slack.php

  14. ├── tests/

  15. │ ├── Channels/

  16. │ │ └── SlackWebhookChannelTest.php

  17. │ ├── Commands/

  18. │ │ └── SlackTestCommandTest.php

  19. │ └── TestCase.php

  20. ├── .editorconfig

  21. ├── .gitignore

  22. ├── .styleci.yml

  23. ├── CHANGELOG.md

  24. ├── composer.json

  25. ├── LICENSE

  26. ├── phpunit.xml

  27. ├── README.md

  28. └── UPGRADE.md

目录结构介绍

  • src/:包含项目的核心代码。
    • Channels/:定义了消息发送的通道。
    • Commands/:包含命令行工具。
    • Config/:项目的配置文件。
    • Notifications/:定义了通知类。
    • Providers/:服务提供者。
    • Slack.php:核心类文件。
  • tests/:包含项目的测试代码。
  • 其他文件:如 .editorconfig.gitignore.styleci.yml 等,为项目的基础配置文件。

2. 项目的启动文件介绍

项目的启动文件主要是 src/Providers/SlackServiceProvider.php。这个文件注册了服务提供者,并加载了配置文件。

  1. namespace Gpressutto5LaravelSlackProviders;

  2. use Gpressutto5LaravelSlackSlack;

  3. use IlluminateSupportServiceProvider;

  4. class SlackServiceProvider extends ServiceProvider

  5. {

  6. public function boot()

  7. {

  8. $this->publishes([

  9. __DIR__.'/../Config/slack.php' => config_path('slack.php'),

  10. ]);

  11. }

  12. public function register()

  13. {

  14. $this->mergeConfigFrom(__DIR__.'/../Config/slack.php', 'slack');

  15. $this->app->singleton('slack', function ($app) {

  16. return new Slack($app['config']['slack']);

  17. });

  18. }

  19. }

3. 项目的配置文件介绍

项目的配置文件位于 src/Config/slack.php。这个文件定义了项目的配置选项,包括 Slack 的 Webhook URL 等。

  1. return [

  2. 'webhook_url' => env('SLACK_WEBHOOK_URL', null),

  3. 'channel' => env('SLACK_CHANNEL', null),

  4. 'username' => env('SLACK_USERNAME', null),

  5. 'icon' => env('SLACK_ICON', null),

  6. 'emoji' => env('SLACK_EMOJI', null),

  7. 'link_names' => env('SLACK_LINK_NAMES', false),

  8. 'unfurl_links' => env('SLACK_UNFURL_LINKS', false),

  9. 'unfurl_media' => env('SLACK_UNFURL_MEDIA', true),

  10. 'allow_markdown' => env('SLACK_ALLOW_MARKDOWN', true),

  11. 'markdown_in_attachments' => env('SLACK_MARKDOWN_IN_ATTACHMENTS', ['text']),

  12. ];

配置文件介绍

  • webhook_url:Slack 的 Webhook URL。
  • channel:发送消息的频道。
  • username:发送消息的用户名。
  • icon:消息的图标。
  • emoji:消息的 emoji 图标。
  • link_names:是否链接用户名。
  • unfurl_links:是否展开链接。
  • unfurl_media:是否展开媒体内容。
  • allow_markdown:是否允许 Markdown 格式。
  • markdown_in_attachments:在附件中允许 Markdown 格式的字段。

以上是 Laravel Slack 项目的目录结构、启动文件和配置文件的介绍。希望对你有所帮助!

laravel-slack:hash: Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.项目地址:https://gitcode.com/gh_mirrors/la/laravel-slack

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...