Download the PHP package groupesti/laravel-twilio without Composer
On this page you can find all versions of the php package groupesti/laravel-twilio. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-twilio
groupesti/laravel-twilio
Intégration Twilio pour Laravel : messagerie SMS/MMS, appels vocaux, téléchargement de médias, codes à usage unique (TOTP), webhooks à signature validée et journal d'audit.
Extrait du module applicatif App\Modules\Twilio et transformé en package Composer autonome.
Prérequis
- PHP 8.2+
- Laravel 12
twilio/sdk^8.3 (installé automatiquement)
Installation
Le fournisseur Twilio\Providers\TwilioServiceProvider est enregistré par auto-discovery.
Les migrations sont chargées directement depuis le package ; --tag=twilio-migrations ne sert que si vous souhaitez les modifier.
Namespace et cohabitation avec le SDK Twilio
Le package utilise Twilio\ comme namespace racine, le même préfixe que le SDK officiel twilio/sdk. C'est volontaire et fonctionnel : Composer accepte plusieurs répertoires pour un même préfixe PSR-4 et les résout dans l'ordre.
Deux sous-espaces se croisent sans collision de nom de classe :
| Sous-espace | SDK officiel | Ce package |
|---|---|---|
Twilio\Exceptions\ |
TwilioException, RestException, ConfigurationException… |
TwilioModuleException, TwilioConfigurationException, TwilioDeliveryException, TwilioWebhookException |
Twilio\Http\ |
Client, CurlClient, Request, Response |
Controllers\, Middleware\, Requests\ |
Contrainte à respecter en évolution : n'ajoutez jamais dans ce package une classe dont le nom pleinement qualifié existe déjà dans le SDK (par exemple Twilio\Http\Client ou Twilio\Exceptions\TwilioException). Le chargeur en retiendrait une seule et le comportement dépendrait de l'ordre d'autoload.
Configuration
Les valeurs de config/twilio.php servent de repli. Twilio\Services\TwilioConfigResolver privilégie toujours l'enregistrement TwilioConfig actif en base de données.
Variables d'environnement principales :
Routes
Trois groupes, pilotés par config('twilio.routes') :
| Groupe | Défaut | Préfixe | Middleware |
|---|---|---|---|
webhooks |
activé | twilio |
twilio.audit, twilio.signature |
api |
activé | api |
api + auth:sanctum (déclaré dans le fichier de routes) |
web |
désactivé | admin/twilio |
web, auth |
Les routes web sont désactivées par défaut parce que leurs contrôleurs rendent les vues apps.twilio.* (dashboard, messages, calls, media, statuses, config, audit), qui ne font pas partie du package et doivent être fournies par l'application hôte. Activez-les une fois ces vues en place :
Webhooks à déclarer dans la console Twilio :
Utilisation
Le client REST est résolu via l'interface, ce qui permet de le substituer en test :
Structure
Traductions
Les clés utilisées (twilio.errors.*, twilio_admin.*) ne sont pas namespacées : elles doivent être publiées dans le dossier lang/ de l'application.
Écarts avec le module d'origine
App\Traits\HasUuid→Twilio\Concerns\HasUuid(réimplémenté).App\Support\Models\ReferenceModel→Twilio\Models\ReferenceModel(réimplémenté ; la couche de cache de la version applicative n'a pas été reprise).App\Support\Providers\ModuleServiceProvider→Illuminate\Support\ServiceProviderstandard.App\Http\Controllers\Controller→Illuminate\Routing\Controller.- Clés de configuration ajoutées, référencées par le code mais absentes du module :
voice.default_agent_phone,totp.message_key,media.disk,media.path. - Fichiers de langue fournis, reconstitués à partir des clés effectivement appelées.
All versions of laravel-twilio with dependencies
illuminate/contracts Version ^12.0
illuminate/database Version ^12.0
illuminate/http Version ^12.0
illuminate/support Version ^12.0
twilio/sdk Version ^8.3