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

Yadm Laravel Package

formapro/yadm

formapro/yadm is a PHP client for the Yandex.Direct advertising API. It offers an object-oriented wrapper for campaigns, ad groups, ads, keywords, and reports, handling authentication, request building, and response parsing so PHP applications can automate Yandex.Direct account management.

Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Yadm is a MongoDB document mapper/ODM for PHP focused on fast persistence and hydration. It fits Laravel/PHP services where MongoDB is already the system of record or a read-optimized projection store, especially read-heavy APIs, event/audit views, catalog projections, and high-volume document retrieval. It is not a replacement for Eloquent/relational modeling and should sit behind a bounded repository or service boundary rather than leak into controllers.
  • Integration feasibility: Technically feasible via Composer, but Laravel integration is likely custom: service provider bindings, configuration, connection/client lifecycle, repository interfaces, and health checks. The package is a library, not a first-class Laravel package with documented Laravel conventions. A proof-of-concept should validate PHP version, ext-mongodb/driver compatibility, Composer dependency resolution, and autoload behavior before commitments.
  • Technical risk: High lifecycle risk. Last release was 2019, repository provenance is unknown, stars are low (84), and the ecosystem has moved through PHP 8.x, newer MongoDB drivers, and Laravel major versions. Risks include abandoned dependencies, stale PHP constraints, MongoDB driver API drift, hydration edge cases, and missing security/maintenance patches. MIT licensing reduces legal friction but does not reduce stewardship risk.
  • Key questions: Which exact PHP, Laravel, MongoDB server, and ext-mongodb versions are targeted? Is MongoDB already approved operationally? Does Yadm support the required document patterns: embedded documents, references, polymorphism, partial hydration, and bulk operations? Who owns a fork if upstream is inactive? What is the exit path to Doctrine MongoDB ODM, native driver repositories, or another ODM? What latency/throughput evidence exists versus the native driver and Eloquent-backed alternatives?

Integration Approach

  • Stack fit: Best suited to a Laravel service with a clearly isolated MongoDB read/write model. Keep Yadm behind application-owned repository interfaces so domain code depends on contracts, not Yadm classes. Use Laravel’s container for connection/config injection and avoid relying on undocumented global state.
  • Migration path: Do not migrate core relational domains directly. Start with a new bounded context or a non-critical read model. Map existing API responses to Yadm documents, compare outputs against the current path, and only then expand to write paths. If migrating from another ODM, build anti-corruption adapters rather than rewriting domain entities immediately.
  • Compatibility: Pin PHP, Laravel, MongoDB driver, and server versions in Composer and CI. Run a compatibility matrix spike across the supported Laravel majors and PHP runtime. Validate ext-mongodb loading, connection string handling, TLS/auth, replica-set behavior, and serialization of dates, UUIDs, and binary data. Expect to fork or patch dependency constraints.
  • Sequencing: 1) time-boxed technical spike with representative documents and load; 2) create internal package wrapper with Laravel provider, config, repositories, and telemetry; 3) implement one read-only use case in staging; 4) run dual-read comparison and performance baseline; 5) production canary with rollback to native driver path; 6) expand only after operational runbooks and ownership are established.

Operational Impact

  • Maintenance: High. Treat the package as internally owned software. Budget for dependency updates, PHP/Laravel compatibility patches, security review, and MongoDB driver upgrades. Maintain a fork or vendored patch path; do not assume upstream releases.
  • Support: Low community support and unknown repository provenance mean incident resolution depends on internal PHP/MongoDB expertise. Establish an escalation owner, source access, and a documented support policy before production use.
  • Scaling: Potentially strong for read-heavy workloads because hydration is the package’s stated optimization, but scaling still depends on MongoDB schema design, indexes, replica-set topology, write concerns, and connection pooling. Benchmark with realistic document sizes and concurrency; do not accept “extremely fast” as an operational guarantee.
  • Failure modes: Driver/PHP incompatibility after runtime upgrades, Composer resolution failures, hydration/mapping errors on schema drift, connection exhaustion, replica-set failover behavior differences, missing observability into queries, and abandoned-package security gaps. Add structured logging, query latency metrics, error budgets, and a native-driver fallback for critical paths.
  • Ramp-up: Moderate to high. Engineers need MongoDB document modeling, ODM hydration behavior, Laravel service-provider wiring, and Yadm-specific debugging skills. Provide examples, repository templates, and a runbook; avoid broad adoption until at least one team has production ownership.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager