Skip to content

Commit

Permalink
Add Persian document
Browse files Browse the repository at this point in the history
  • Loading branch information
hooman-mirghasemi committed Jun 2, 2024
1 parent 90e101b commit 0365845
Showing 1 changed file with 171 additions and 0 deletions.
171 changes: 171 additions & 0 deletions README_FA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@

<p align="center"><img src="src/Resources/images/sms.jpg?raw=true" width="150px"></p>

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

[![مجوز نرم‌افزار][ico-license]](LICENSE.md)
[![آخرین نسخه در پکیج‌ایست][ico-version]][link-packagist]
[![تعداد کل دانلودها در پکیج‌ایست][ico-download]][link-packagist]
[![StyleCI](https://github.styleci.io/repos/684210225/shield?branch=master)](https://github.styleci.io/repos/684210225)
[![نگهداری][ico-maintainability]](https://codeclimate.com/github/hooman-mirghasemi/Laravel-iran-sms/maintainability)
[![کیفیت کد][ico-code-quality]][link-code-quality]

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

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

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

- [لاراول ایران اس‌ام‌اس](#laravel-iran-sms)
- [فهرست محتویات](#list-of-contents)
- [لیست درایورهای موجود](#list-of-available-drivers)
- [نصب](#install)
- [فایل .env](#env-file)
- [نحوه استفاده](#how-to-use)
- [کار با Facades](#working-with-Facades)
- [کار با Channels (استفاده از کلاس‌های اطلاع‌رسانی لاراول)](#working-with-channels-(use-laravel-notification-classes))
- [ایجاد درایورهای سفارشی](#create-custom-drivers)
- [رویدادها](#events)
- [مشارکت](#contributing)
- [اعتبارات](#credits)
- [مجوز](#license)

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

- [درایور پیامک ساختگی](#fake-sms) :heavy_check_mark: :بخشی از تست‌های توسعه.
- [Kavenegar](#kavenegar) :heavy_check_mark:
- [Mediana](#mediana) :heavy_check_mark:
- [Sms.ir](#smsir) :heavy_check_mark:
- [Farazsms](#farazsms) :heavy_check_mark:
- [Meli Payamak](#meli-payamak) :heavy_check_mark:

# نصب

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

```bash
composer require hooman-mirghasemi/laravel-iran-sms
```

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

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

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

```bash
composer update
```

# فایل .env

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

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

# نحوه استفاده

### کار با Facades

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

```php
use IranSms;

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

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

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

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

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

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

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

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

```php
namespace App\SmsDrivers;

use IranSms\Drivers\Driver;

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

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

```php
use IranSms\SmsManager;

$smsManager = new SmsManager(app());

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

### رویدادها

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

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

## مشارکت

لطفاً برای جزئیات بیشتر [CONTRIBUTING](CONTRIBUTING.md) و [CONDUCT](CONDUCT.md) را ببینید.

## اعتبارات

- [Hooman Mirghasemi][link-author]
- [تمامی مشارکت‌کنندگان][link-contributors]

## مجوز

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

[ico-version]: https://img.shields.io/packagist/v/hooman-mirghasemi/laravel-iran-sms.svg?style=flat-square
[ico-download]: https://img.shields.io/packagist/dt/hooman-mirghasemi/laravel-iran-sms.svg?color=%23F18&style=flat-square
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-code-quality]: https://img.shields.io/scrutinizer/quality/g/hooman-mirghasemi/laravel-iran-sms.svg?label=Code%20Quality&style=flat-square

[link-fa]: README-FA.md
[link-en]: README.md
[link-packagist]: https://packagist.org/packages/hooman-mirghasemi/laravel-iran-sms
[link-code-quality]: https://scrutinizer-ci.com/g/hooman-mirghasemi/laravel-iran-sms
[link-author]: https://github.com/hooman-mirghasemi
[link-contributors]: ../../contributors

0 comments on commit 0365845

Please sign in to comment.