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

Code Parser Laravel Package

hyperf/code-parser

A lightweight PHP code parser for Hyperf that uses nikic/php-parser to inspect source as an AST. It helps analyze classes, methods, and properties, traverse nodes with visitors, and support code generation and transformation workflows.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework/runtime roadmap: v3.2.0 is a significant platform release (PHP >=8.2, Symfony 6/7, PHPUnit 11, Carbon 3, Elasticsearch 8/9, SQL Server support). It directly informs whether the product stays on the current runtime baseline or budgets an upgrade in the next 1–2 quarters.
  • Upgrade vs. stay decision: Five breaking changes affect configuration and contracts — logger and cache config structure, AsyncQueue method rename (getQueueName() → getPoolName()), Carbon timezone/diff behavior, and a new Swow dependency binding. This is a major migration event, not a drop-in patch. PM decision: schedule a dedicated upgrade epic with a rollback plan, or pin to the prior minor and defer.
  • Build vs. buy / dependency consolidation: Native Elasticsearch 8.x and 9.x support, SQL Server database package, and Symfony 7.4 compatibility reduce the need for custom adapters or forked glue code. If the roadmap includes search, multi-database, or long-term support obligations, this release removes reasons to build those in-house.
  • Feature scope enabled: Per-job queue names, config-driven async-queue consumer registration (no manual processes.php edits), Pipeline::finally(), Collection::shift()/pop() multi-item, Arr::partition()/reject(), Context macroability, and Jsonable::toJson(). These are small but real accelerators for background-job-heavy or data-transformation-heavy features.
  • Operational/observability roadmap: Logger config restructuring is a forcing function to revisit centralized logging and log-channel strategy; timestamped StdoutLogger and enriched QueryException connection names improve incident triage.
  • Risk register and support matrix: PHP 8.4 warnings around fgetcsv/fputcsv and the removal of deprecated APIs signal that the project is actively pruning legacy paths. PM should treat "stay current" as an ongoing cost line, not a one-time project.
  • Release cadence planning: The volume of deprecations removed on a published schedule (v3.2 removal targets) implies predictable major-version churn. Build upgrade capacity into quarterly planning rather than treating each release as a surprise.

When to Consider This Package

Consider adopting or upgrading when:

  • The product is on PHP 8.2+ and wants to align with Symfony 6/7, PHPUnit 11, and Carbon 3 rather than maintaining parallel compatibility shims.
  • You depend on async/background processing at scale — the queue/pool naming cleanup, per-job queue routing, and automatic consumer process registration materially reduce boilerplate and misconfiguration.
  • Search is on the roadmap: Elasticsearch 8.x/9.x support avoids a bespoke client layer.
  • You need SQL Server alongside existing databases and want first-party driver support instead of a maintained fork.
  • You are planning an observability or logging overhaul — the new channel-based logger and cache store configuration is a natural moment to standardize.
  • You can absorb a coordinated migration: config file rewrites, one method rename, Swow dependency binding, and Carbon behavior verification in tests.

Look elsewhere or defer when:

  • You are on PHP 8.0/8.1 or Symfony 5 — this release forces a runtime upgrade first; sequence that separately.
  • The codebase has heavy custom extensions of Carbon date math (diffInDays absolute behavior) or async queue jobs overriding getQueueName(). Silently upgrading will produce wrong values or fatal errors; audit before committing.
  • Your team lacks bandwidth for a config migration across environments, or you have no automated test coverage around logging, caching, and CSV import/export paths.
  • You require long-term-support stability with infrequent majors — the deprecation-removal cadence here implies recurring migration work.
  • CSV handling is business-critical on PHP 8.4: the escape parameter requirement needs code changes and regression testing.
  • The product is a conventional Laravel application with no coroutine/async needs — the operational and conceptual overhead may not pay for itself; evaluate framework fit before the version.

How to Pitch It (Stakeholders)

For executives: This is a platform modernization release, not a feature drop. It keeps us on supported PHP, Symfony, and database drivers, and unlocks search (Elasticsearch 8/9) and SQL Server without custom engineering. The trade-off is a bounded migration: two configuration files change shape, one method is renamed, and a few date/Carbon behaviors shift. I recommend we fund a short, scoped upgrade sprint with a rollback path rather than let the gap widen — deferring increases the eventual cost and leaves us on unsupported dependencies.

For engineering: Treat v3.2.0 as a coordinated migration. Required work: (1) convert logger and cache config to the new default + channels/stores structure across all environments; (2) rename JobInterface::getQueueName() to getPoolName() and audit $queue → $pool property usage; (3) register ResponseEmitterInterface in dependencies.php if using Swow; (4) verify Carbon timestamps and diffInDays() results, since absolute values are no longer the default; (5) audit deleted symbols (CacheableSupportsMethodInterface, HandeShakeException, ResumeExitCoordinatorListener, async-queue serialization shims); (6) fix fgetcsv/fputcsv calls with escape: '' ahead of PHP 8.4. Upside: PHP 8.2+ baseline, PHPUnit 11, Elasticsearch 8/9, SQL Server, per-job queue routing, config-driven queue consumers, and improved logging/exception diagnostics. Propose a feature branch, full test run, and a staged rollout behind the existing release process.

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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections