PHP code example of ihabrouk / messenger

1. Go to this page and download the library: Download ihabrouk/messenger library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ihabrouk / messenger example snippets


use Ihabrouk\Messenger\Facades\Messenger;

// Send a simple SMS
Messenger::send([
    'recipient_phone' => '+1234567890',
    'content' => 'Hello, this is a test message!',
    'provider' => 'smsmisr', // optional
    'channel' => 'sms'       // optional
]);

// Send using templates
Messenger::sendFromTemplate('welcome_user', [
    'recipient_phone' => '+1234567890',
    'variables' => [
        'user_name' => 'John Doe',
        'company' => 'Acme Corp'
    ]
]);

use Ihabrouk\Messenger\Models\Batch;

$batch = Batch::create([
    'name' => 'Newsletter Campaign',
    'template_id' => $template->id,
    'provider' => 'smsmisr',
    'channel' => 'sms'
]);

$recipients = [
    ['phone' => '+1234567890', 'variables' => ['name' => 'John']],
    ['phone' => '+0987654321', 'variables' => ['name' => 'Jane']],
];

Messenger::bulkSend($batch, $recipients);

use Ihabrouk\Messenger\Actions\SendMessageAction;

// In your table actions
SendMessageAction::make()
    ->phoneField('phone_number')
    ->nameField('full_name')

// config/messenger.php
'providers' => [
    'smsmisr' => [
        'driver' => 'smsmisr',
        'username' => env('SMS_MISR_API_USERNAME'),
        'password' => env('SMS_MISR_API_PASSWORD'),
        'sender_id' => env('SMS_MISR_SENDER_ID'),
        // ... other options
    ]
]

// config/messenger.php
'providers' => [
    'twilio' => [
        'driver' => 'twilio',
        'account_sid' => env('TWILIO_ACCOUNT_SID'),
        'auth_token' => env('TWILIO_AUTH_TOKEN'),
        'from' => env('TWILIO_FROM'),
        // ... other options
    ]
]

use Ihabrouk\Messenger\Models\Template;

Template::create([
    'name' => 'welcome_sms',
    'content' => [
        'en' => 'Welcome {{name}}! Your account is ready.',
        'ar' => 'مرحباً {{name}}! حسابك جاهز الآن.'
    ],
    'channels' => ['sms'],
    'category' => 'welcome'
]);

use Ihabrouk\Messenger\Services\AnalyticsService;

$analytics = app(AnalyticsService::class);
$stats = $analytics->getDeliveryStats('last_30_days');

use Ihabrouk\Messenger\Events\MessageSent;

Event::listen(MessageSent::class, function ($event) {
    // Handle successful message sending
    Log::info('Message sent', ['message_id' => $event->message->id]);
});
bash
# Publish and run migrations (REQUIRED)
php artisan vendor:publish --provider="Ihabrouk\Messenger\Providers\MessengerServiceProvider" --tag="messenger-migrations"
php artisan migrate

# Publish configuration
php artisan vendor:publish --provider="Ihabrouk\Messenger\Providers\MessengerServiceProvider" --tag="messenger-config"
bash
php artisan vendor:publish --tag="messenger-config"
bash
php artisan vendor:publish --tag="messenger-migrations"
php artisan migrate
bash
php artisan vendor:publish --tag="messenger-views"
php artisan vendor:publish --tag="messenger-lang"
bash
php artisan messenger:make-driver CustomProvider
bash
php artisan messenger:diagnose              # Diagnose installation issues
php artisan messenger:list-providers        # List available providers
php artisan messenger:test-provider         # Test provider configuration
php artisan messenger:send                  # Send a test message