Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Contacts For Laravel Laravel Package

roundly-consulting/contacts-for-laravel

Contacts for Laravel gives Laravel apps a ready-to-use contacts domain: Eloquent models, migrations, and relationships for storing people, companies, and their emails, phone numbers, and addresses. Build CRM-style features faster without reinventing contact data structures.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install or upgrade with Composer. Release 1.1.2 is maintenance-only: it does not add features or change the public API, but it raises the minimum versions of the Roundly dependency set. Run composer update for this package and its Roundly dependencies, then publish any config or migrations if you have not already done so.
  • Look first at composer.json, the package service provider, the published config file, and the README. The new constraints tell you the supported stack: package-toolkit ^1.3.0, addresses ^1.0.1, connections ^1.1.0, crypto ^1.1.2, enums ^1.1.0.
  • First use case: create a domain record that uses a structured address, associates a connection, casts status/type fields to the provided enums, and encrypts sensitive attributes with the crypto package. Resolve the package’s main service or contract from the Laravel container instead of instantiating it directly.

Implementation Patterns

  • Prefer constructor injection for the package’s services and contracts. If you need custom behavior, bind your implementation to the package contract in a service provider rather than extending concrete classes.
  • Use the enums package for status and type columns. Cast them in Eloquent models, validate with Rule::enum(), and use tryFrom() when reading legacy values.
  • Use the addresses package for structured address storage and validation. Do not hand-roll country/state fields or duplicate its validation rules.
  • Use the connections package to model relationships and lifecycle events. Hook into its contracts/events for side effects instead of putting logic in controllers.
  • Use the crypto package for encrypted casts and sensitive columns. Keep keys in environment variables or a secret manager, and use the package’s key-management conventions rather than ad-hoc Crypt::encrypt() calls.
  • Follow package-toolkit conventions for config publishing, migrations, service-provider registration, and testing. Use roundly/testing ^1.2.1 helpers for fakes and factories in your test suite.
  • In CI, keep the Roundly packages aligned. When bumping this package, run composer update --with-all-dependencies for the suite and commit the lock file.

Gotchas and Tips

  • 1.1.2 is a dependency-alignment release. If you have pinned older Roundly packages, Composer may refuse the upgrade. Update the whole suite, not just this package.
  • Verify installed versions with composer show 'roundly/*' and diagnose conflicts with composer why-not roundly/<package> <version>.
  • After publishing config, run php artisan config:clear locally and re-cache config in production. Stale config caches are a common source of “the package ignored my settings” issues.
  • When adding enum cases, update the database column/check constraint and handle legacy rows with tryFrom(). Do not assume existing data matches new cases.
  • Do not rotate crypto keys without a re-encryption plan. Check whether the crypto package exposes a key ring or migration command before changing APP_KEY-adjacent configuration.
  • Address validation depends on the addresses package’s data set. If you support many countries, test validation against the package’s current rules rather than assuming ISO coverage.
  • For debugging, use php artisan about, package-toolkit’s debug output if available, and query logging around address/connection lookups. Slow lookups are usually missing indexes or N+1 relationship loads, not package overhead.
  • Safest extension points are config publishing, contract bindings, enum casts, and DTO mapping. Avoid editing vendor files; the next Roundly dependency bump will overwrite them.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast