Open source
Contacts for Laravel
composer require roundly-consulting/contacts-for-laravelPrehľad
Typované, validované kontakty s primárnym kontaktom pre akýkoľvek Laravel model. Pripojte e-maily, telefóny, adresy, URL, sociálne profily a vlastné druhy k používateľovi, firme, objednávke či čomukoľvek inému — všetko v jednej polymorfnej tabuľke contacts, normalizované pri uložení, s jedným primárnym kontaktom na druh, poradím, overovaním nezávislým od kanála, udalosťami, fluentnou fasádou a natívnym exportom vCard 3.0. Licencia MIT a minimum závislostí: Laravel a niekoľko malých základných balíkov Roundly — žiadne externé knižnice.
Čo získate
Typované, normalizované kontakty
E-maily, telefóny, adresy, URL, sociálne profily a vlastné druhy na akomkoľvek modeli — pri uložení zmenšené písmená, formát E.164 a doplnená schéma.
Jeden primárny kontakt na druh
Prvý kontakt daného druhu sa automaticky stane primárnym, povýšenie iného zosadí pôvodný a keď primárny odíde, nahradí ho ďalší.
Overovanie bez odosielania
Číselné kódy alebo náhodné tokeny, uložené len ako hash s expiráciou a limitom nesprávnych pokusov. Otvorený text dostanete cez udalosť a doručíte ho po svojom.
Znovupoužiteľná validácia
ValidContactValue, ContactType::rules() a hotové pravidlá pre pole contacts.* vložíte priamo do svojich FormRequestov.
vCard 3.0 a smerovanie notifikácií
Exportujte kontakty vlastníka ako platnú vizitku vCard a smerujte notifikácie cez mail, Vonage a Twilio na jeho primárne kontakty.
Adresy a vzťahy
Štruktúrované poštové adresy na kontakte a typovaný graf vzťahov — pracuje v, manžel/ka — s pozvánkami.
Pripravené na testy
Zaznamenávajúci Contacts::fake(), ktorý nič nezapíše — ani cez injektovaného manažéra — plus stavy factory a Pest matchery.
Dokumentácia
Inštalácia
Inštalácia cez Composer, publikovanie migrácie kontaktov a dvoch sprievodných migrácií, voliteľne konfigurácie a prekladov.
Konfigurácia
Každý konfiguračný kľúč a jeho predvolená hodnota — model, tabuľka, typ kľúča, auto-primárny, predvoľba, overovanie, vlastné druhy a vzťahy.
Databázová schéma a typy kľúčov
Tabuľka contacts stĺpec po stĺpci, jej indexy, soft delete a ako key_type typuje owner_id pre vlastníkov s UUID alebo ULID.
Trait HasContacts
Pridajte HasContacts na akýkoľvek model a získate jednoriadkové addEmail/addPhone, primárne kontakty, zoradené kolekcie a reláciu contacts.
Fasáda Contacts
Contacts::for($owner) pre adresár vlastníka, Contacts::verification() pre overovanie, ploché volania pre jeden kontakt — plus builder a ContactData.
DI a akcie
Injektujte ContactsManager a získate API fasády bez statických volaní, alebo priamo spustite jednu z ôsmich jednoúčelových akcií.
Druhy kontaktov a normalizácia
Šesť vstavaných druhov ContactType, ako sa každá hodnota normalizuje a validuje, ich popisy a ikony a pomocníci enumu pre výbery.
Vlastné druhy
Zaregistrujte v konfigurácii druhy ako whatsapp s vlastným popisom, ikonou a pravidlami — každý má vlastný primárny kontakt aj scope.
Primárne kontakty a poradie
Jeden primárny kontakt na vlastníka a druh — priradený automaticky, prehodený v transakcii, po odchode odovzdaný ďalšiemu — plus poradie v druhu.
Synchronizácia kontaktov
Zosúlaďte kontakty vlastníka jedného druhu s presným zoznamom — zhody upraví, nové vytvorí, zvyšok zmaže a zoradí podľa vstupu.
Overovanie
Vydajte kód alebo token uložený len ako hash s expiráciou a limitom pokusov, doručte ho z udalosti a potvrdením overte kontakt.
Validácia
Použite validáciu balíka vo svojich formulároch: pravidlo ValidContactValue, ContactType::rules() a hotové pravidlá pre polia kontaktov.
Query scopy
Kombinovateľné scopy modelu Contact — podľa vlastníka, kategórie, druhu, primárnosti, overenia, fulltextu a poradia.
Udalosti
Šesť udalostí pre pridanie, úpravu, zmazanie, žiadosť o overenie, overenie a zmenu primárneho kontaktu — reagujte bez forkovania.
Smerovanie notifikácií
Cez RoutesNotificationsViaContacts smerujte notifikácie mail, Vonage a Twilio na primárny e-mail a telefón modelu.
Export do vCard
Exportujte kontakty vlastníka alebo jeden kontakt ako platnú vizitku vCard 3.0, ktorú prečítajú Apple, Google aj iné adresáre.
Štruktúrované adresy
Pridajte kontaktu validované fakturačné, domáce či pracovné adresy cez addresses-for-laravel s jednoriadkovým zobrazením.
Príslušnosti a vzťahy
Prepojte kontakty navzájom aj s vlastníkmi — pracuje v, manžel/ka — s pozvánkami, expiráciou a voliteľným zoznamom povolených vzťahov.
Výnimky
Každá výnimka, ktorú balík vyhadzuje, kedy sa vyhodí a ako ich zachytiť všetky cez základnú triedu ContactException.
Testovanie
Nahraďte manažéra zaznamenávajúcim Contacts::fake() a overte každý zápis, pripravte dáta stavmi factory a overujte vlastníkov Pest matchermi.
Požiadavky
PHP 8.4+, Laravel 12 alebo 13 a päť malých základných balíkov Roundly, ktoré za vás nainštaluje Composer.
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 kryptomienOdoslaní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.