Weave Code
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

Phing Composer Configurator Laravel Package

phing/phing-composer-configurator

Composer plugin that installs and configures Phing from composer.json. Ensures the Phing binary and settings are set up during Composer install/update, simplifying Phing integration in PHP projects and keeping build tooling consistent.

View on GitHub
Deep Wiki
Context7

Getting Started

Install Phing via Composer as a dev dependency — this package is a transitive dependency that auto-configures Phing.

composer require --dev phing/phing

After installation, verify the CLI works:

vendor/bin/phing -p

Ensure a build.xml exists in your project root — Phing requires it to define build targets (e.g., build, test). Without it, Phing exits silently with no output.

Implementation Patterns

  • Isolated CLI bootstrap: The plugin ensures vendor/bin/phing works out-of-the-box without system-wide Phing installation — ideal for team onboarding and CI consistency.
  • Composer-native build orchestration: Define build steps in build.xml (e.g., phpcs, phpunit, phpdoc) and run via vendor/bin/phing test. Phing tasks run outside your app’s autoloader context — manually include vendor/autoload.php in custom tasks if needed.
  • CI integration: Add vendor/bin/phing build to your pipeline. Because the plugin guarantees Phing is resolved via Composer, environments stay reproducible (no phing CLI version drift).
  • Legacy migration: Useful when modernizing old Ant-based builds —Phing’s XML syntax is familiar to Ant users, easing the transition while leveraging Composer dependency management.

Gotchas and Tips

  • Abandoned ecosystem: Phing’s last major release was ~2019; this package has 0 dependents and minimal activity. Treat it as high-risk for long-term maintenance — prefer Robo, Make, or Composer scripts for new projects.
  • Composer API version mismatch: The package declares compatibility with composer-plugin-api ^1.1|^2.0, but Composer 2.2+ uses API 2.2+. Though phing/phing currently works with Composer 2.2+, subtle side effects (e.g., plugin activation issues) may occur. Run composer diagnose to verify.
  • No build.xml = silent failure: Unlike tools like Make, Phing won’t warn if the build file is missing — your CI may pass without doing anything. Add a CI pre-check: test -f build.xml || exit 1.
  • Autoloading isolation: vendor/bin/phing does not share your project’s Composer autoloader. In custom tasks, explicitly include it:
    require __DIR__ . '/vendor/autoload.php';
    
  • Extensibility is manual: This plugin only bootstraps Phing — adding custom tasks requires writing PHP classes and registering them in build.xml under <phingfile> or via phing.classes (see Phing documentation). There’s no plugin hook system here.
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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport