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

Xsd2Php Laravel Package

goetas-webservices/xsd2php

Generate PHP classes from XSD schemas and WSDL files, converting XML Schema types into ready-to-use PHP models with JMS Serializer metadata support. A practical tool for building SOAP and XML integrations from existing contracts.

Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy/integrate for XML/SOAP connectivity: This package shifts effort from hand-writing DTOs and serialization mappings to a repeatable code-generation workflow. A PM can frame the decision as “adopt a generator + JMS Serializer” versus “build and maintain custom XML mapping code.”
  • Contract-first integration strategy: When an external partner, government body, bank, or legacy system publishes an XSD, the team can treat that schema as the source of truth and generate PHP models from it. This supports decisions about schema versioning, compatibility, and change management.
  • Roadmap prioritization for enterprise integrations: SOAP/XML integrations are often blockers for enterprise or regulated customers. This package can reduce the level of effort required to commit to those roadmap items, making previously “expensive” integrations more feasible.
  • Scope and estimation: PMs can use the CLI generation workflow to separate “generate and review models” from “implement business logic.” That gives cleaner estimates, milestones, and acceptance criteria.
  • Data model / DTO strategy: Generated classes create a clear boundary between transport models and Laravel domain/Eloquent models. PMs can decide where mapping belongs and avoid leaking XML schema details into the core domain.
  • CI and governance decisions: Because generation is repeatable, the team can regenerate models when schemas change and detect drift. This supports decisions about automated checks, schema version pinning, and release governance.
  • Vendor onboarding and integration reuse: Once the pattern is established, additional XSD-based integrations can reuse the same generation, serialization, and testing approach, improving repeatability across partners.
  • Typical use cases to evaluate: SOAP APIs, banking/payment integrations, government or healthcare data exchange, logistics/EDI-adjacent XML feeds, legacy enterprise systems, and partner APIs with published XSD contracts.

When to Consider This Package

Consider it when:

  • You have an authoritative, stable XSD and need PHP models that serialize/deserialize XML correctly.
  • The integration is SOAP/XML-first, especially where complex types, inheritance, and namespaces are common.
  • The schema contains many types, making hand-written DTOs and mappings expensive and error-prone.
  • You want a repeatable CLI workflow that can run locally and in CI when schemas change.
  • The team is willing to adopt JMS Serializer or already uses it; the package’s value depends heavily on that serialization layer.
  • You are building in Laravel but can keep the integration layer as plain PHP classes wired into the app.
  • You need faster delivery of a contracted integration and can absorb a short technical spike.

Look elsewhere when:

  • The API is JSON/OpenAPI-first; an OpenAPI generator or Laravel-native approach is a better fit.
  • XML handling is simple or one-off; hand-written parsing may be cheaper than adding codegen and JMS Serializer.
  • You need runtime/dynamic schema handling rather than generated, compile-time models.
  • The team requires a Laravel-native serialization approach and does not want JMS Serializer annotations in the codebase.
  • The XSD is unstable, poorly maintained, or not truly authoritative.
  • Supply-chain diligence is a blocker: the repository is listed as unknown and the project has a modest community footprint, so maintenance, security-review, and long-term ownership risks should be assessed before adoption.
  • Generated models would become the domain model; generally prefer generated transport DTOs plus explicit mapping to domain objects.

How to Pitch It (Stakeholders)

Executive summary: This package can accelerate XML/SOAP integrations by generating PHP models directly from partner XSD contracts, reducing manual mapping work and lowering the risk of serialization defects. It is most valuable when we have multiple or complex XSD-based integrations and want a repeatable, contract-first workflow.

For engineering: It generates PHP classes from XSD, adds JMS Serializer annotations for XML mapping, supports complex types/inheritance/namespaces, and provides a CLI workflow suitable for CI. The trade-off is adding JMS Serializer and a generation step, plus a diligence review because the repository metadata is unclear and the project is not Laravel-specific.

For product: It can shorten delivery time for enterprise/SOAP integrations and make roadmap commitments more predictable. It also creates reusable integration patterns, so the second and third XSD-based partner integrations should be cheaper than the first.

Recommended next step: Run a time-boxed spike against one real partner XSD. Success criteria: generated models compile, round-trip XML serialization/deserialization passes representative fixtures, the CI regeneration workflow is documented, and the team confirms ownership and maintenance risk is acceptable.

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
cgv/localized-resource