NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Pridajte balík. Service provider aj alias fasády Messages sa načítajú automaticky — bez manuálnej registrácie:

composer require roundly-consulting/messages-for-laravel

Composer zároveň nainštaluje tri sesterské balíky, na ktorých Messages stojí — enums-for-laravel, media-library-for-laravel a package-toolkit-for-laravel. Samostatne ich inštalovať ani konfigurovať netreba.

Najprv typ kľúča

Ak majú vaše zúčastnené modely (zvyčajne User) kľúče uuid alebo ulid, nastavte to ešte pred migráciou — zapíše sa priamo do schémy (pozri Typy kľúčov):

MESSAGES_KEY_TYPE=uuid   # bigint (default) | uuid | ulid — your models' primary key type

Migrácie len na publikovanie

Migrácie sa nenačítavajú automaticky — samotné php artisan migrate nevytvorí nič, kým ich nepublikujete. Messages ukladá prílohy cez media-library-for-laravel, ktorá sa nainštaluje spolu s ním a jej tabuľka media sa tiež len publikuje — publikujte obe a potom migrujte:

php artisan vendor:publish --tag="media-migrations"
php artisan vendor:publish --tag="messages-migrations"
php artisan migrate

Ak media-migrations vynecháte, prvé odoslanie zlyhá, pretože každé odoslanie hľadá prílohy správy bez ohľadu na to, či nejaké má:

no such table: media

Jedenásť migrácií balíka messages sa uloží do database/migrations s časovými pečiatkami, ktoré zachovávajú poradie závislostí medzi tabuľkami, takže sa správne zaradia medzi vaše vlastné. Vytvoria tabuľky messaging_threads, messaging_participants a messaging_messages — všetky so soft deletes a konfigurovateľným typom kľúča.

Voliteľné publikovanie

php artisan vendor:publish --tag="messages-config"
php artisan vendor:publish --tag="messages-translations"
php artisan vendor:publish --tag="messages-resources"
php artisan vendor:publish --tag="messages-notifications"
  • messages-config — config/messages.php; každý kľúč má predvolenú hodnotu z env, takže ho potrebujete len na prepísanie.
  • messages-translations — texty systémových správ, náhľadov a výnimiek.
  • messages-resources — upraviteľné kópie JSON API resources v App\Http\Resources\Messages (app/Http/Resources/Messages).
  • messages-notifications — upraviteľná kópia notifikácie o novej správe v App\Notifications\Messages (app/Notifications/Messages).

Ďalšie kroky

  • Každému modelu, ktorý posiela správy alebo sa zúčastňuje konverzácií, pridajte rozhranie ParticipatesInMessaging a trait HasMessaging.
  • Priamu konverzáciu otvorte cez Messages::direct(), skupinu cez Messages::start() — alebo cez conversationWith() a startConversationWith() z traitu.
  • Podľa potreby zapnite cez env broadcasting, notifikácie a systémové správy.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.