larament/barta 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

larament/barta

最新稳定版本:v1.3.0

Composer 安装命令:

composer require larament/barta

包简介

Barta is a Laravel package designed to integrate popular Bangladeshi SMS gateways seamlessly.

README 文档

README

Barta is a Laravel package for integrating Bangladeshi SMS gateways.

Barta - Laravel package for integrating Bangladeshi SMS gateways

Latest Version on Packagist Total Downloads Run Tests PHPStan Pint License

Barta provides a clean, expressive way to send SMS from Laravel applications using Bangladeshi gateways. It gives you a single API for transactional messages, OTP delivery, alerts, queued sends, and notification-based messaging.

The package is designed to feel native in Laravel projects while keeping gateway-specific concerns isolated to drivers and configuration.

Key Features

  • Multiple Gateways — Seamlessly switch between SMS providers
  • Bulk SMS — Send to multiple recipients in a single call
  • Queue Support — Dispatch SMS to background jobs
  • Laravel Notifications — Native integration with Laravel's notification system
  • BD Phone Formatting — Automatic phone number normalization to 8801XXXXXXXXX format
  • Extensible — Create custom drivers for any SMS gateway

Supported Gateways

  • log driver for local development and testing
  • Most Bangladeshi SMS gateways are supported

Full gateway list and setup instructions are available at barta.larament.com/gateways.

Requirements

  • PHP 8.2 or higher
  • Laravel 11 to 13

Installation

Install via Composer:

composer require larament/barta

Optionally, you can run the install command:

php artisan barta:install

Quick Start

Set your default driver in .env:

BARTA_DRIVER=log

Then send your first message:

use Larament\Barta\Facades\Barta;

Barta::to('01712345678')
    ->message('Your OTP is 1234')
    ->send();

Send through a specific gateway:

Barta::driver('DRIVER_NAME')
    ->to('01712345678')
    ->message('Hello from Larament Barta')
    ->send();

Queue a message for background delivery:

Barta::to('01712345678')
    ->message('Queued message')
    ->queue();

Send to multiple recipients:

Barta::to(['01712345678', '01812345678'])
    ->message('Hello everyone!')
    ->send();

Tip

Use the log driver during local development and automated tests to avoid sending real SMS.

Laravel Notifications

Barta integrates with Laravel's notification system through the barta channel:

use Illuminate\Notifications\Notification;
use Larament\Barta\Notifications\BartaMessage;

class OrderShipped extends Notification
{
    public function via(object $notifiable): array
    {
        return ['barta'];
    }

    public function toBarta(object $notifiable): BartaMessage
    {
        return new BartaMessage('Your order has been shipped!');
    }
}

Route notifications to a phone number on your notifiable model:

public function routeNotificationForBarta($notification): string
{
    return $this->phone;
}

Learn more at barta.larament.com/advanced/notifications.

Phone Number Formatting

Barta automatically normalizes Bangladeshi mobile numbers into 8801XXXXXXXXX format.

Input Normalized
01712345678 8801712345678
+8801712345678 8801712345678

Documentation

The full documentation lives at barta.larament.com.

Testing

composer test          # Run tests
composer test-coverage # With coverage
composer analyse       # Static analysis

Use the log driver during testing to avoid sending real SMS.

Changelog

See CHANGELOG.md for recent changes.

Contributing

See CONTRIBUTING.md for details.

Security

Report vulnerabilities via our security policy.

Credits

License

MIT License. See LICENSE.md.

Made with ❤️ for the Bangladeshi Laravel Community

⭐ Star us on GitHub

统计信息

  • 总下载量: 261
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 56
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 56
  • Watchers: 2
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-31

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固