eloquent / composer-config-reader
A light-weight component for reading Composer configuration files.
Installs: 2 087 046
Dependents: 17
Suggesters: 0
Security: 0
Stars: 32
Watchers: 3
Forks: 3
Open Issues: 1
Requires
- php: >=7.2
- eloquent/enumeration: ^6
- justinrainbow/json-schema: ^5
Requires (Dev)
README
No longer maintained
This package is no longer maintained. See [this statement] for more info.
[this statement]: https://gist.github.com/ezzatron/713a548735febe3d76f8ca831bc895c0# Phony for PHPUnit
Composer configuration reader
A light-weight component for reading Composer configuration files.
Installation and documentation
- Available as Composer package eloquent/composer-config-reader.
Usage
Composer configuration reader is very simple to use, and a quick example should be self-explanatory:
$reader = new Eloquent\Composer\Configuration\ConfigurationReader; $configuration = $reader->read('/path/to/composer.json'); echo $configuration->name(); // outputs the package name
Configuration objects
The following are the objects used to represent the configuration information. For a more detailed overview of the data available, simply look through the class definition (these classes are very simple).
The following classes all exist in the Eloquent\Composer\Configuration\Element
namespace.
Configuration
This is the main configuration object and has methods to access all the information available in the Composer schema.
Example methods
name()
: The package name.description()
: The package description.dependencies()
: Equivalent to Composerrequire
.devDependencies()
: Equivalent to Composerrequire-dev
.autoloadPSR0()
: The autoload information for PSR-0 namespaces/paths.autoloadClassmap()
: The autoload information for classmapped paths.
Helper methods
A number of helper methods exist on the main configuration object to simplify the process of extracting useful information:
projectName()
: The project name without the vendor prefix.vendorName()
: The vendor name without the project suffix.allDependencies()
: Combinesrequire
andrequire-dev
into a single array.allPSR0SourcePaths()
: A flat array of all PSR-0-compliant source paths.allSourcePaths()
: A flat array of all source paths.
Repository, PackageRepository
These objects describe the package's defined repositories.
All repositories are represented by the Repository
class, except for
package-type repositories which use the PackageRepository
class.
See Repositories.
Example methods
type()
: The repository type.url()
: The repository URL (not available forPackageRepository
).
Stability
This object is an enumeration of package stabilities, with the following members:
- DEV
- ALPHA
- BETA
- RC
- STABLE
It is currently only used to represent the value of the minimum-stability option.
Author
This object contains all information provided for a specific author.
See authors.
Example methods
name()
: The author's name.email()
: The author's email address.
SupportInformation
This object describes the package's support contact information.
See support.
Example methods
email()
: The support email address.issues()
: The URL of the issue tracking system.wiki()
: The URL of the wiki system.
ProjectConfiguration
This object describes configuration options specific to end-projects, such as the target directories for various resources provided by Composer.
See config.
Example methods
vendorDir()
: The project's vendor directory path.binDir()
: The project's binary directory path.
ScriptConfiguration
This object describes the Composer scripts defined by the package.
See Scripts.
Example methods
preInstallCmd()
: The pre-install scripts.postInstallCmd()
: The post-install scripts.
ArchiveConfiguration
This object describes the settings for creating package archives.
See archive.
Example methods
exclude()
: A list of file exclusion patterns.