Download the PHP package myerscode/package-discovery without Composer
On this page you can find all versions of the php package myerscode/package-discovery. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download myerscode/package-discovery
More information about myerscode/package-discovery
Files in myerscode/package-discovery
Package package-discovery
Short Description A package to help find plugins for packages
License
Informations about the package package-discovery
Package Discovery
A service to help easily find plugins for your services, using Composer metadata!
Install
You can install this package via composer:
Usage
Publishing projects just need to add appropriate metadata in their package, which can be then detected by a consuming
project. A project which wants to disover projects will need to instantiate a Finder
to look up the project namespace.
You will then be able to consume the found metadata in the project as desired.
Publishing project
In your package.json
file, add a object in the extras
object, with a key that relates to the project namespace you
want to discover it.
Consuming project
Using the Finder
class, initiate passing in the root path, relative to the vendor
directory.
Then use the discover
method to find all packages that have the given name in its extras field.
After discovering package you would have an array of metadata for each one discovered.
Avoiding discovery
If you don't want to discover a specific project, then you can add some metadata in the consuming package to prevent this.
You would do this by adding the package name to avoid
under the projects namespace in the extras field of package.json
.
If you want to avoid loading in all discoverable packages, simply add *
in the avoid field.
Locating a package
When you want to find out where a package is located on the disk, you can use the locate
method to look up its absolute
path.
Getting package meta for a service
To get package meta for a specific service call the packageMetaForService
method, passing the package name and the service name.
Getting package extra
To get all the extras data for a package call the packageExtra
method.
Issues
Bug reports and feature requests can be submitted on the Github Issue Tracker.
Contributing
See the Myerscode contributing page for information.
License
The MIT License (MIT). Please see License File for more information.
All versions of package-discovery with dependencies
myerscode/utilities-bags Version ^2.0
myerscode/utilities-files Version ^2.0