Skip to content

Latest commit

 

History

History
171 lines (121 loc) · 6.64 KB

README_FA.md

File metadata and controls

171 lines (121 loc) · 6.64 KB

لاراول ایران اس‌ام‌اس

Software License Latest Version on Packagist Total Downloads on Packagist StyleCI Maintainability Quality Score

این یک پکیج لاراول برای ارسال پیامک با پراوایدر های پیامک معروف است. این پکیج از Laravel 8+ پشتیبانی می‌کند و تمامی تست‌ها برای لاراول 8، 9، 10 و 11 پاس شده‌اند!

مزایای این پکیج:

  • درایورهای متعدد
  • پشتیبانی از ایجاد درایورهای سفارشی
  • دارای درایور fake داخلی که می‌تواند پیامک یا تماس صوتی موفق یا ناموفق ارسال کند. (می‌تواند در حالت‌های توسعه و تست استفاده شود)
  • ذخیره گزارش‌های پیامک در دیتابیس
  • نمایش لیست پیامک های ارسال شده فقط در حالت توسعه http://localhost/sms/get-sms-list (توسعه‌دهنده فرانت‌اند می‌تواند از آن برای دسترسی به آخرین پیامک‌های ارسال شده با درایور fake استفاده کند، به عنوان مثال نیاز به کدهای OTP دارد، وقتی که او بخش‌هایی مثل فراموشی رمز عبور را توسعه می‌دهد)

فهرست محتویات

لیست درایورهای موجود

نصب

برای نصب، می‌توانید از Composer استفاده کنید:

composer require hooman-mirghasemi/laravel-iran-sms

یا می‌توانید این خط را به فایل composer.json خود اضافه کنید:

"require": {
    "hooman-mirghasemi/laravel-iran-sms": "1.*"
}

و سپس دستور زیر را اجرا کنید:

composer update

فایل .env

این پکیج از پیکربندی‌ها در فایل .env پشتیبانی می‌کند. نمونه تنظیمات فایل .env به این شکل است:

SMS_DRIVER=kavenegar
SMS_API_KEY=کلید API شما

نحوه استفاده

کار با Facades

می‌توانید از Facades برای ارسال پیامک استفاده کنید:

use IranSms;

IranSms::send('متن پیام', 'شماره گیرنده');

کار با Channels (استفاده از کلاس‌های اطلاع‌رسانی لاراول)

می‌توانید از کلاس‌های notification لاراول برای ارسال پیامک استفاده کنید. برای این کار، کافیست کانال sms را به متد via در کلاس notification خود اضافه کنید:

public function via($notifiable)
{
    return ['sms'];
}

و سپس متد toSms را به کلاس اطلاع‌رسانی خود اضافه کنید:

public function toSms($notifiable)
{
    return 'متن پیام';
}

ایجاد درایورهای سفارشی

می‌توانید درایورهای سفارشی خود را ایجاد کنید. برای این کار، باید یک کلاس جدید بسازید که از IranSms\Drivers\Driver ارث‌بری کند و متد send را پیاده‌سازی کند.

namespace App\SmsDrivers;

use IranSms\Drivers\Driver;

class MyCustomDriver extends Driver
{
    public function send($message, $numbers, $options = [])
    {
        // کد ارسال پیامک
    }
}

سپس می‌توانید درایور خود را به SmsManager اضافه کنید:

use IranSms\SmsManager;

$smsManager = new SmsManager(app());

$smsManager->extend('myCustomDriver', function ($app) {
    return new MyCustomDriver();
});

رویدادها

می‌توانید به این رویداد گوش دهید:

  • SmsSentEvent: هنگامی که پیامک ارسال می‌شود. (این پکیج از این رویداد برای جمع‌آوری گزارش‌ها در دیتابیس استفاده می‌کند)

مشارکت

لطفاً برای جزئیات بیشتر CONTRIBUTING و CONDUCT را ببینید.

اعتبارات

مجوز

مجوز MIT (MIT License). لطفاً برای اطلاعات بیشتر فایل مجوز را ببینید.