In CentOS, as in other Linux distributions, Composer is a dependency manager for PHP that allows you to manage your project’s dependencies. The composer.json file is a configuration file used by Composer to manage these dependencies.
Here’s a basic example of what a composer.json file might look like:
{
"name": "your-vendor-name/your-project-name",
"description": "A brief description of your project",
"type": "project",
"require": {
"php": "^7.4 || ^8.0",
"monolog/monolog": "^2.0"
},
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"autoload": {
"psr-4": {
"YourVendor\\YourProject\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"YourVendor\\YourProject\\Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-install-cmd": [
"@php artisan key:generate"
],
"post-update-cmd": [
"@php artisan key:generate"
]
}
}
Here’s a breakdown of the different sections in this composer.json file:
name: The name of your project, typically in the format of vendor-name/project-name.description: A short description of your project.type: The type of your project (e.g., library, project).require: An array of dependencies required for your project to run.require-dev: An array of development dependencies that are only required for development purposes.autoload: Configuration for autoloading classes.autoload-dev: Configuration for autoloading development classes.minimum-stability: The minimum stability of dependencies to install.prefer-stable: Whether to prefer stable versions of dependencies.scripts: Custom scripts that can be run with Composer commands.To use Composer on CentOS, you first need to install it. You can do this by running the following commands:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
After installing Composer, you can navigate to your project directory and run composer install to install the dependencies listed in your composer.json file.
Remember to replace the example values with those that are appropriate for your project. The require and require-dev sections should list the actual PHP packages and versions that your project depends on. The autoload section should be configured to autoload your classes according to PSR-4 standards or another autoloading standard you prefer.