Tag Archives: Composer

Creating first composer.json file for project

Generating your first composer.json file for your project.

Please download Composer first and install it on your computer. Composer can be downloaded from https://getcomposer.org/download/

Go to your project root folder and create a composer.json file with the following components. The basic components of a composer.json file are as follows. Alternatively, you can use the code below and edit it to suit your project.

 

  1. name:
    • Format: "vendor/package-name".
    • vendor is typically your username or organization name, and package-name is the project’s name.
  2. description:
    • A brief description of the project’s purpose.
  3. type:
    • Defines the type of the package, which can be "project" (for applications) or "library" (for reusable libraries). Setting it to "project" is typical when creating standalone applications.
  4. require:
    • Lists dependencies with version constraints.
    • Commonly includes "php" to specify compatible PHP versions and other required packages.
  5. autoload:
    • Defines the autoloading standard for project classes.
    • psr-4 autoloading is standard and maps namespaces to directories. In this example, "App\\" namespace corresponds to the src/ directory, making classes in src/ accessible under the App namespace.
  6. scripts (optional):
    • Allows custom scripts, like running tests. For example, "test": "phpunit" lets you run tests with composer test if you’re using PHPUnit.
  7. minimum-stability (optional):
    • Defines the acceptable stability for packages ("stable", "dev", "alpha", "beta", or "RC"). "stable" is usually preferred in production projects to ensure reliability.
  8. license:
    • Specifies the license, such as "MIT", "GPL-3.0", etc.

 

{
"name": "vendor/package-name",
"description": "A short description of your project",
"type": "project",
"require": {
"php": ">=7.4"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"scripts": {
"test": "phpunit"
},
"minimum-stability": "stable",
"license": "MIT"
}

Or Very basic file like,

{
"name": "vendor/package-name",
"require": {
"php": ">=7.4"
}
}