Download the PHP package symplify/package-scoper without Composer
On this page you can find all versions of the php package symplify/package-scoper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download symplify/package-scoper
More information about symplify/package-scoper
Files in symplify/package-scoper
Package package-scoper
Short Description Scope package in unique namespace to prevent composer install conflicts - with 1 click
License MIT
Informations about the package package-scoper
Package Scoper
- Does your package require Symfony 5, but developers want to use it on Symfony 3?
- Do you want to scope your package dependencies with unique namespace, but don't know how?
- Do you want to skip learning of PhpScoper, PHAR packing, Box and GitHub Actions automated deploy?
You're in the right place!
Install
We also need symplify/monorepo-builder
, so we can work with relative paths of local packages.
Usage
1. Generate php-scoper Config
php-scoper is a package that prefixes classes and functions, so they're unique and don't conflict with same-named class in a different version. You can read the documentation, or you can generate the config with sane defaults:
It will create scoper.inc.php
right in the root of the package. That's the best location, because php-scoper works with path relative to its location.
2. Scope Composer Json
Scoping PHP code with php-scoper is just the first step. The second is making a composer.json
with a different name than the original package. We got you covered! The following command will:
- update package name to
<original>-prefixed
- keep PHP version in
require
section, license and bin files - drop the rest
It must be run on the scoped package composer.json
, not the original one:
3. Generate GitHub Action Workflow
The process without automatization would not be much helpful. That's why we have GitHub Action to automate it.
Go to your .github/workflows
folder, update packages names manually and you're ready to go.
Convention over Configuration in GitHub Action
In the GitHub Workflow you only define package names. To make the whole process work, the <package-name>
must be used in:
1) directory name
2) binary file name:
As the file is defined in the composer.json
:
All versions of package-scoper with dependencies
symfony/dependency-injection Version ^5.2
symfony/http-kernel Version ^4.4|^5.2
symfony/console Version ^4.4|^5.2
symplify/symplify-kernel Version ^9.3.1
symplify/composer-json-manipulator Version ^9.3.1