From 03658458d96b36c5466bb491efb3b91374cb733d Mon Sep 17 00:00:00 2001 From: Hooman Mirghasemi Date: Sun, 2 Jun 2024 21:07:08 +0330 Subject: [PATCH 1/4] Add Persian document --- README_FA.md | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 README_FA.md diff --git a/README_FA.md b/README_FA.md new file mode 100644 index 0000000..322f1b0 --- /dev/null +++ b/README_FA.md @@ -0,0 +1,171 @@ + +

+ +# لاراول ایران اس‌ام‌اس + +[![مجوز نرم‌افزار][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 From 2184ad7f2b3f839c6b94e9ed9744d6cb0c8a3eef Mon Sep 17 00:00:00 2001 From: hooman-mirghasemi Date: Sun, 2 Jun 2024 21:15:39 +0330 Subject: [PATCH 2/4] Update README_FA.md --- README_FA.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README_FA.md b/README_FA.md index 322f1b0..9a0eb12 100644 --- a/README_FA.md +++ b/README_FA.md @@ -10,14 +10,14 @@ [![نگهداری][ico-maintainability]](https://codeclimate.com/github/hooman-mirghasemi/Laravel-iran-sms/maintainability) [![کیفیت کد][ico-code-quality]][link-code-quality] -این یک پکیج لاراول برای یکپارچه‌سازی ارسال پیامک است. این پکیج از `Laravel 8+` پشتیبانی می‌کند و تمامی تست‌ها برای لاراول 8، 9، 10 و 11 پاس شده‌اند! +این یک پکیج لاراول برای ارسال پیامک با پراوایدر های پیامک معروف است. این پکیج از `Laravel 8+` پشتیبانی می‌کند و تمامی تست‌ها برای لاراول 8، 9، 10 و 11 پاس شده‌اند! > مزایای این پکیج: > - درایورهای متعدد > - پشتیبانی از ایجاد درایورهای سفارشی -> - دارای درایور ساختگی داخلی که می‌تواند پیامک یا تماس صوتی موفق یا ناموفق ارسال کند. (می‌تواند در حالت‌های توسعه و تست استفاده شود) +> - دارای درایور fake داخلی که می‌تواند پیامک یا تماس صوتی موفق یا ناموفق ارسال کند. (می‌تواند در حالت‌های توسعه و تست استفاده شود) > - ذخیره گزارش‌های پیامک در دیتابیس -> - ابزارهایی در حالت توسعه فقط در http://localhost/sms/get-sms-list (توسعه‌دهنده فرانت‌اند می‌تواند از آن برای دسترسی به آخرین پیامک‌های ارسال شده با درایور ساختگی استفاده کند، به عنوان مثال نیاز به کدهای OTP دارد، وقتی که او/او بخش‌هایی مثل فراموشی رمز عبور را توسعه می‌دهد) +> - نمایش لیست پیامک های ارسال شده فقط در حالت توسعه http://localhost/sms/get-sms-list (توسعه‌دهنده فرانت‌اند می‌تواند از آن برای دسترسی به آخرین پیامک‌های ارسال شده با درایور fake استفاده کند، به عنوان مثال نیاز به کدهای OTP دارد، وقتی که او بخش‌هایی مثل فراموشی رمز عبور را توسعه می‌دهد) - [مستندات انگلیسی][link-en] @@ -70,7 +70,7 @@ composer update # فایل .env -این پکیج از پیکربندی‌ها در فایل `.env` پشتیبانی می‌کند. نمونه فایل `.env` به این شکل است: +این پکیج از پیکربندی‌ها در فایل `.env` پشتیبانی می‌کند. نمونه تنظیمات فایل `.env` به این شکل است: ``` SMS_DRIVER=kavenegar @@ -91,7 +91,7 @@ IranSms::send('متن پیام', 'شماره گیرنده'); ### کار با Channels (استفاده از کلاس‌های اطلاع‌رسانی لاراول) -می‌توانید از کلاس‌های اطلاع‌رسانی لاراول برای ارسال پیامک استفاده کنید. برای این کار، کافیست کانال `sms` را به متد `via` در کلاس اطلاع‌رسانی خود اضافه کنید: +می‌توانید از کلاس‌های notification لاراول برای ارسال پیامک استفاده کنید. برای این کار، کافیست کانال `sms` را به متد `via` در کلاس notification خود اضافه کنید: ```php public function via($notifiable) @@ -127,7 +127,7 @@ class MyCustomDriver extends Driver } ``` -سپس می‌توانید درایور خود را به `sms` اضافه کنید: +سپس می‌توانید درایور خود را به `SmsManager` اضافه کنید: ```php use IranSms\SmsManager; From 3392c7efc8dc5e095128e6d4e09da72efe9e5bae Mon Sep 17 00:00:00 2001 From: hooman-mirghasemi Date: Sun, 2 Jun 2024 21:28:14 +0330 Subject: [PATCH 3/4] Update README.md Add Persian document link in Readme file --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c579d0d..7b99a1b 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ This is a Laravel Package for Sms Senders Integration. This package supports `La - [English documents][link-en] +- [داکیومنت فارسی][link-fa] # List of contents From 275443d8c44a09f1d99c6134b2a976cacb84ede5 Mon Sep 17 00:00:00 2001 From: hooman-mirghasemi Date: Sun, 2 Jun 2024 21:28:46 +0330 Subject: [PATCH 4/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b99a1b..e66a6a6 100644 --- a/README.md +++ b/README.md @@ -325,7 +325,7 @@ The MIT License (MIT). Please see [License File](LICENSE.md) for more informatio [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-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