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
Yii2 Composer

Yii2 Composer Laravel Package

yiisoft/yii2-composer

Composer installer plugin for Yii 2 extensions. Adds the yii2-extension package type, supports extension bootstrapping via extra.bootstrap, and provides post-create-project and post-install hooks for tasks like setting permissions and generating cookie validation keys.

View on GitHub
Deep Wiki
Context7

Yii 2 composer extension

Frequently asked questions about Yii2 Composer
Can I use yiisoft/yii2-composer directly in a Laravel project?
No, this package is designed exclusively for Yii 2 applications and isn’t compatible with Laravel’s core architecture. Laravel’s autoloading, service container, and routing systems conflict with Yii 2’s conventions, making direct integration impossible without significant customization.
What are some valid use cases for this package in a Laravel context?
This package could be useful in hybrid architectures where both Laravel and Yii 2 coexist, such as monorepos, microservices, or legacy migration projects. For example, you might use it to manage Yii 2-specific dependencies in a shared vendor directory while isolating them from Laravel’s autoloader.
How do I avoid autoloading conflicts between Yii 2 and Laravel?
To prevent conflicts, namespace isolation is critical. Use custom PSR-4 autoload maps in `composer.json` to explicitly define Yii 2’s base directory (e.g., `yiisoft/yii2/*`) and avoid overlapping namespaces. Alternatively, containerize Yii 2 services separately or use Laravel’s `extra.laravel` to exclude Yii 2 classes from Laravel’s autoloader.
Does this package support Laravel’s service providers or facades?
No, this package is Yii 2-specific and lacks integration with Laravel’s service container, facades, or bootstrap processes. Yii 2 relies on `Yii::$app` for dependency management, which is incompatible with Laravel’s `bind()` or `tag()` methods. You’d need custom glue code to bridge the two.
Is it safe to mix Yii 2 and Laravel dependencies in the same `composer.json`?
Mixing dependencies is risky due to version conflicts, especially for shared libraries like `monolog` or `psr/log`. Use Composer’s `replace` or `provide` directives to alias Yii 2 packages, but test thoroughly. Consider using Docker or Kubernetes to isolate the frameworks if possible.
Can I use this package to migrate from Yii 2 to Laravel?
Yes, this package can help extract Yii 2 components into standalone Composer packages during migration. Gradually replace Yii 2 dependencies with Laravel equivalents while using `yiisoft/yii2-composer` to manage remaining Yii 2-specific code. Document each dependency’s replacement plan to avoid technical debt.
Are there Laravel alternatives for managing Yii 2-style extensions?
For Laravel, consider packages like `nunomaduro/collision` for autoloading conflicts or `cweagans/composer-patches` for conditional dependency handling. If you need Yii 2-like features (e.g., RBAC), explore Laravel packages like `spatie/laravel-permission` or rewrite Yii 2 components as Laravel packages for long-term maintainability.
How do I configure this package for a hybrid Laravel/Yii 2 setup?
Start by adding `yiisoft/yii2-composer` to your project’s root `composer.json` under `extra.plugins`. Define custom PSR-4 autoload rules for Yii 2 in the `autoload` section, ensuring paths like `vendor/yiisoft/yii2/*` are excluded from Laravel’s autoloader. Use Composer scripts to conditionally install Yii 2 dependencies during builds.
Will this package work with Laravel’s `bootstrap/app.php` or `config/app.php`?
No, this package doesn’t integrate with Laravel’s bootstrap files. Yii 2 uses its own `config/web.php` and `Yii::$app` initialization, which are incompatible with Laravel’s `AppServiceProvider` or `bootstrap/app.php`. You’d need to manually load Yii 2 components outside Laravel’s lifecycle or use a separate runtime environment.
What are the maintenance risks of using Yii 2 packages in Laravel?
Yii 2 is end-of-life (EOL), so this package and its dependencies won’t receive security updates. Mixing Yii 2 with Laravel introduces long-term risks like unpatched vulnerabilities or breaking changes. Prioritize rewriting Yii 2 components as Laravel packages or containerizing them to minimize exposure. Monitor the `yiisoft/yii2-composer` repository for deprecation notices.
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.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor