Download the PHP package symplify/vendor-patches without Composer

On this page you can find all versions of the php package symplify/vendor-patches. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package vendor-patches

Vendor Patches

Downloads total

Generate vendor patches for packages with single command.

Install


Usage

How to create a patch for a file in /vendor?


1. Create a Copy of /vendor file you Want To Change with *.old Suffix

For example, if you edit:


2. Open the original file and change the lines you need:

Only *.php file is loaded, not the *.php.old one. This way you can be sure the new code is working before you generate patches.

Make sure to back up other modified files in the vendor/ directory as well as some of the commands below may overwrite them.


3. Run generate command 🥳️

This tool will generate patch files for all files created this way in /patches directory:

The patch path is based on original file path, so the patch name is always unique.


Also, it will add configuration for cweagans/composer-patches to your composer.json:


3.1 When using cweagans/composer-patches v2

cweagans/composer-patches v2 requires the execution of 2 additional steps after generating the patches:

Updating the patches.lock.json file:

Applying the new patches:

4. Final steps

Now you need to do run composer to update the lock file as the checksum of composer.json has changed:

That's it!


Now all you need to do is run composer:

And your patches are applied to your code!


If not, get more information from composer to find out why:

Summary

To summarize, the generate workflow is:

Patches File and Patches Folder Options

Optionally, if you use a patches file you can specify its path using the --patches-file option:

You can choose to write the patches to a different folder than the default 'patches' folder by specifying the folder name using the --patches-output option:


Resolve From Directory Option

By default, the package name is read from each package's composer.json name field. Use --resolve-from-directory to derive the package name from its vendor/<vendor>/<package> directory instead. Useful for private repositories where the installed directory name differs from the name in composer.json.


TroubleShooting

Upgrading from older versions of cweagans/composer-patches (pre 2.0.0)

If you are upgrading cweagans/composer-patches to 2.0.0 and newer versions, you may need to adjust your patches to ensure compatibility.

The new version requires that --- /dev/null needs to be replaced with --- <file-path> in your patch files.

For example, if you have an old patch file that starts with:

You need to change it to:

macOS

If you are on macOS, and got hang on applying patch, you may need to install gpatch, you can install with:

and register to .bash_profile or .zshrc (if you're using oh-my-zsh):



All versions of vendor-patches with dependencies

PHP Build Version
Package Version
Requires cweagans/composer-patches Version ^1.7.3 || ^2.0
php Version >=7.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package symplify/vendor-patches contains the following files

Loading the files please wait ...