Table of Contents
Common Use Cases for the Scripts Section
How to Define and Run Scripts
Built-in Script Events
Tips for Writing Good Scripts
Home Development Tools composer What is the scripts section in composer.json?

What is the scripts section in composer.json?

Jul 30, 2025 am 02:41 AM

The "scripts" section in composer.json is used to define custom commands that can be triggered with Composer to simplify the automation of repetitive tasks in PHP projects. Common use cases include running PHPUnit tests ("test": "phpunit"), analyzing code with PHPStan ("analyze": "phpstan analyze"), clearing cache in Laravel ("clear-cache": "php artisan config:clear && php artisan cache:clear"), and starting a development server ("start": "php -S localhost:8000"). To define a script, you need to add key-value pairs under "scripts" and execute it through composer run-script or abbreviation composer run, and also support passing parameters. Composer also supports built-in events such as "pre-install-cmd", "post-install-cmd", etc., which can automatically trigger operations in a specific life cycle. Suggestions for writing good scripts include keeping short and meaningful, using cross-platform commands, combining multiple commands, naming them clearly and considering adding comments to illustrate complex logic.

The "scripts" section in a composer.json file is where you define custom commands that can be triggered using Composer. These commands are often used to automate tasks related to your PHP project — like running tests, clearing caches, or starting development servers — without having to remember long command lines.

Common Use Cases for the Scripts Section

Developers use the scripts section to simplify repetitive tasks and integrate with other tools. Here are some typical examples:

  • Running PHPUnit tests: "test": "phpunit"
  • Linting code with PHPStan: "analyze": "phpstan analyze"
  • Clearing cache in a framework like Laravel: "clear-cache": "php artisan config:clear && php artisan cache:clear"
  • Starting a local development server: "start": "php -S localhost:8000"

By defining these in composer.json , anyone working on the project can run them consistently, regardless of their environment.

How to Define and Run Scripts

Defining a script is straightforward. You add a key-value pair under the "scripts" section. The key is the name of the command, and the value is what gets executed.

For example:

 "scripts": {
    "test": "phpunit",
    "start": "php -S localhost:8000"
}

To run a script, you use the Composer CLI like this:

 composer run-script test

Or use the shorthand:

 composer run test

You can also pass arguments to your scripts if needed:

 "scripts": {
    "serve": "php -S localhost:$PORT"
}

Then run it with:

 composer run serve -- --PORT=8080

Built-in Script Events

Composer also supports built-in events that automatically trigger during certain lifecycle moments, such as:

  • "pre-install-cmd" / "post-install-cmd"
  • "pre-update-cmd" / "post-update-cmd"
  • "post-autoload-dump"

These are useful for doing things like regenerating autoload files, notifying after an install/update, or setting up environment files before dependencies are installed.

For example:

 "scripts": {
    "post-install-cmd": [
        "echo 'Project installed successfully!'"
    ],
    "post-update-cmd": [
        "php think migrate" 
    ]
}

These commands will run automatically after composer install or composer update .

Tips for Writing Good Scripts

Here are a few practical tips when working with scripts:

  • Keep them short and meaningful.
  • Use cross-platform commands if possible (especially if your team uses different OSes).
  • Chain multiple commands together when needed:
     "clear-all": "php artisan config:clear && php artisan route:clear"
  • Use describe names so others know what they do without guessing.
  • Consider adding documentation in comments inside composer.json if a script is complex.
  • Basically that's it.

    The above is the detailed content of What is the scripts section in composer.json?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are some best practices for using Composer in production environments? What are some best practices for using Composer in production environments? Jul 08, 2025 am 01:00 AM

When using Composer in a production environment, you need to pay attention to safety, stability and performance. 1. Use composerinstall-no-dev to reduce unnecessary development dependencies and reduce online environment risks; 2. Always submit and rely on composer.lock files to ensure version consistency, and avoid using updates during deployment; 3. Optional configuration platform-check=false ignores platform differences warnings, which is suitable for building packaging scenarios; 4. Enable APCU to accelerate automatic loading to improve performance, especially suitable for high concurrency services, while paying attention to namespace uniqueness to avoid cache conflicts.

How do I install Composer on my operating system (Windows, macOS, Linux)? How do I install Composer on my operating system (Windows, macOS, Linux)? Jul 01, 2025 am 12:15 AM

Installing Composer takes only a few steps and is suitable for Windows, macOS, and Linux. Windows users should download Composer-Setup.exe and run it to ensure that PHP is installed or XAMPP is used; macOS users need to execute download, verification, and global installation commands through the terminal; Linux users operate similarly to macOS, and then use the corresponding package manager to install PHP and download and move the Composer file to the global directory.

How do I keep my dependencies up-to-date to address security vulnerabilities? How do I keep my dependencies up-to-date to address security vulnerabilities? Jul 02, 2025 am 12:31 AM

Tomaintainapplicationsecurity,keepdependenciesupdatedusingautomatedtoolslikeDependabot,Renovate,orSnyktotrackandapplyupdates.1)UsethesetoolstoautomatedependencychecksandintegratewithCI/CDpipelinesforreal-timealertsandmergerestrictions.2)Regularlyscan

How do I check if Composer is installed correctly? How do I check if Composer is installed correctly? Jul 07, 2025 am 12:12 AM

To check whether Composer is installed correctly, first run the composer--version command to view the version information. If the version number is displayed, it means that it is installed. Secondly, use the composerdiagnose command to detect configuration problems and ensure that the environment variables and permissions are normal. Finally, try to verify the functional integrity through the composerrequiremonolog/monolog installation package. If the vendor directory is successfully created and the dependency is downloaded, it means that Composer is fully available. If the above steps fail, you may need to check whether PHP has been installed globally or adjusted system path settings.

How do I install a Composer plugin? How do I install a Composer plugin? Jul 09, 2025 am 12:01 AM

To install the Composer plug-in, please first confirm that Composer is installed and the composer.json file exists, and then follow the following steps: 1. Make sure that Composer has been installed and created composer.json; 2. Search and copy the required plug-in name on Packagist; 3. Use the composerrequirequire command to install the plug-in, such as composerrequiredealerdirect/phpcodesniffer-composer-installer; 4. Verify whether the plug-in is effective and check compatibility and configuration. Follow these steps to correctly install the Composer plug-in.

How do I configure Composer to use a specific PHP version? How do I configure Composer to use a specific PHP version? Jul 03, 2025 am 12:07 AM

You can make Composer use a specific PHP version by specifying PHP binary files, using version management tools, or configuring composer.json. 1. In Unix-like systems, you can set an alias or export the COMPOSER_PHP environment variable to directly specify the PHP binary file; 2. Use tools such as phpenv or brew to switch the PHP version to achieve global or project-level version control; 3. Configure the platform.php field in composer.json to declare the PHP version required for the project to ensure that the dependency check is correct; 4. Windows users can call the specified PHP version by modifying the PATH environment variable or creating a batch script to call the specified PHP version.

What are stability flags (e.g., @dev, @alpha, @beta, @stable)? What are stability flags (e.g., @dev, @alpha, @beta, @stable)? Jul 02, 2025 am 12:40 AM

Stabilityflagslike@dev,@alpha,@beta,and@stableindicatesoftwarematurity.1)@devmeansearlydevelopmentwithpossiblebreakingchanges.2)@alphaisanunstableearlytestingphase.3)@betaindicatesimprovedfunctionalitybutwithpotentialbugs.4)@stablemeansproduction-rea

How do I add a custom repository to my Composer configuration? How do I add a custom repository to my Composer configuration? Jul 06, 2025 am 12:26 AM

To add a custom repository to the Composer configuration, edit the composer.json file in the project and specify the repository information under the "repositories" key. The specific steps are as follows: 1. Determine the repository type, such as VCS (Git, SVN, etc.), Composer, PEAR or Package; 2. Add the "repositories" block in composer.json and fill in the repository type and URL. For example, when using a VCS-type Git repository, the format is {"type":"vcs","url":"https

See all articles