Name:the name of the package. IT consists of vendor name and project name, separated by/
Description:a Short description of the package. Usually this was just one line long
Keywords:an array of keywords that's the package was related to. These can used for searching and filtering
License:the License of the package
Type:the type of the package types is used for custom installation logic.
Project:this denotes a project rather than a library. For example application shells like the Symfony
Require:lists packages required by the This package
Require-dev:lists packages required for developing the package, or running tests, etc. The dev requirements of the root package is installed by default
Autoload:autoload mapping for a PHP autoloader.
Currently PSR-0 autoloading, PSR-4 autoloading, Classmap generation and files includes are supported.
PSR-4: Under the PSR-4 key define a mapping from namespaces to paths and relative to the package root. Namespace prefixes must end in \ \
Classmap:the Classmap references is all combined, during install/update, to a single key = value array which may be Found in the generated file vendor/composer/autoload_classmap.php
Autoload-dev:this section allows to define AUTOLOAD rules for development purposes
Classes needed to run the test suite should not being included in the main autoload rules to avoid polluting the autoloader I n Production and when other people with your package as a dependency
Scripts:composer allows you to hooks into various parts of the installation process through the use of scripts
Post-root-package-install:occurs after the root package has been installed, during the Create-project command
Post-create-project-cmd:occurs after the Create-project command has been executed
Post-install-cmd:occurs after the install command have been executed with a lock file present
Post-update-cmd:occurs after the update command have been executed, or after the install command have been executed without A lock file present
Config:a set of configuration options. It's only used for projects
Preferred-install:this option allows you to set the Install method Composer would prefer to use
Laravel/laravel's Composer.json