search
HomeDevelopment ToolscomposerIntroduction to Composer

Introduction to Composer

Aug 02, 2019 pm 05:13 PM
composer

For programming beginners, you may have heard of composer, but you may not know what it is? how to install? The following PHP Chinese website composer tutorial column will explain in detail what composer is and the installation steps.

Introduction to Composer

Introduction to Composer

Composer is a tool for PHP dependency management. It allows you to declare the libraries your project depends on and helps you complete the installation/update process.

Recommended: [composer tutorial]

Dependency Management

Composer is not a package manager like Yum or Apt. Although it will handle "packages" or libraries, its management of these packages and libraries is project-based. It will install these packages and libraries to a directory in your project (usually in the vendor folder). By default, it will not Will be installed globally. As a package manager, it also supports a global command called "global", which we can use to install global packages.

This way of managing extension packages is not the first or exclusive patent of Composer. In fact, Composer is largely inspired by node’s npm and ruby’s bundler.

Imagine:

You have a project that depends on several libraries;

Some libraries depend on other libraries.

Composer:

enables you to declare the libraries you depend on;

Find the versions provided by these libraries and need to be installed, and install them them (that is, downloaded into your project).

See the Basic Usage chapter for more information about "Dependency Declaration".

System Requirements

Composer requires PHP version 5.3.2 or above to run. You also need to make some settings and compilation flags for PHP, and you will receive all incompatibility warnings during installation.

To install the software from source instead of simply unzipping the zip file, you will need git, svn, fossil or hg depending on the version control tool used for the software.

Composer is multi-platform and runs well on Windows, Linux and OSX.

Installation - Linux / Unix /macOS

Download the Composer executable file

Composer provides a convenient installer, You can execute it directly from the command line. Free download address Or if you want to know more about this installer, here is the source code address GitHub.

These are two simple ways to install Composer, local installation (single project) and global installation (providing global system commands).

Local installation

In your project folder, run the installer. Check out the instructions on the installation page .

The installer will check the PHP configuration and download composer.phar to your (working directory) project folder. composer.phar is the Composer binary. It is a PHAR (PHP Archive) and can be run on the command line.

Now run php composer.phar to start Composer.

You can also add the option --install-dir to install Composer to the specified directory and add --filename to rename the downloaded file. When running the downloader with the following command:

php composer-setup.php --install-dir=bin --filename=composer

Then you can run php bin/composer to start Composer.

Global installation

You can place the composer.phar file anywhere. If you put it in your system's PATH, you can access it globally. On Unix-like systems, you can even use it without the php prefix.

After downloading and running the installer, you can move the composer.phar file to your command directory by running the following command:

mv composer.phar /usr/local/bin/composer

If you only want to install it for your user and avoid needing root privileges, you can use ~/local/bin instead of the default directory on some Linux distributions.

Note: If the above command fails due to permissions, you need to run it again using sudo.

Note: In some versions of OSX the /usr directory does not exist by default. If you receive the /usr/local/bin/composer: No such file or directory error, you must create the directory manually before running the mkdir -p /usr/local/bin command.

Note: For more information about changing the PATH environment variable, read the Wikipedia or use Google Search.

Now you only need to run the composer command to use Composer without entering php composer.phar.

Installation - Windows

Use the installer

This is the easiest way to install Composer on your machine .

Download and run Composer-Setup.exe, which will install the latest version of Composer and set the system environment variables, so you can use the composer command directly in any directory.

Note: Please close the current terminal window. Reopen a new terminal window for testing use: this is important because the path will only be loaded when the terminal is started.

Manual installation

Set the system environment variable PATH and run the installation command to download the composer.phar file:

Create a new file composer.bat in the same directory as composer.phar:

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

If the path has not been set, add the directory to the PATH environment variable.

Close the current command line window and open a new command line window for testing:

C:\Users\username>composer -V
Composer version 1.0.0 2016-01-10 20:34:53

Using Composer

Now that you have Composer installed, You're ready to use it! Continue below with a short presentation of the next chapter.

The above is the detailed content of Introduction to Composer. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
How to quickly build Fecmall advanced project templates using ComposerHow to quickly build Fecmall advanced project templates using ComposerApr 18, 2025 am 11:45 AM

When developing an e-commerce platform, it is crucial to choose the right framework and tools. Recently, when I was trying to build a feature-rich e-commerce website, I encountered a difficult problem: how to quickly build a scalable and fully functional e-commerce platform. I tried multiple solutions and ended up choosing Fecmall's advanced project template (fecmall/fbbcbase-app-advanced). By using Composer, this process becomes very simple and efficient. Composer can be learned through the following address: Learning address

Improve Doctrine entity serialization efficiency: application of sidus/doctrine-serializer-bundleImprove Doctrine entity serialization efficiency: application of sidus/doctrine-serializer-bundleApr 18, 2025 am 11:42 AM

I had a tough problem when working on a project with a large number of Doctrine entities: Every time the entity is serialized and deserialized, the performance becomes very inefficient, resulting in a significant increase in system response time. I've tried multiple optimization methods, but it doesn't work well. Fortunately, by using sidus/doctrine-serializer-bundle, I successfully solved this problem, significantly improving the performance of the project.

Use Composer to resolve error logging issues in Laravel projectsUse Composer to resolve error logging issues in Laravel projectsApr 18, 2025 am 11:39 AM

When developing Laravel projects, the management of error logs is a very critical link. Recently, I encountered a problem in my project: how to efficiently capture and record all types of errors and ensure that these error messages can be processed in a timely manner. After some research, I found the lukeboy25/errorlogger package. It is installed through Composer and can greatly simplify the management process of error logs. You can learn composer through the following address:

How to use Composer to improve the security of Laravel applications: Applications of wiebenieuwenhuis/laravel-2fa libraryHow to use Composer to improve the security of Laravel applications: Applications of wiebenieuwenhuis/laravel-2fa libraryApr 18, 2025 am 11:36 AM

When developing a Laravel application, I encountered a common but difficult problem: how to improve the security of user accounts. With the increasing complexity of cyber attacks, a single password protection is no longer enough to ensure the security of users' data. I tried several methods, but the results were not satisfactory. Finally, I installed the wiebenieuwenhuis/laravel-2fa library through Composer and successfully added two-factor authentication (2FA) to my application, greatly improving security.

Use Composer to simplify mobile device detection and file download size calculationsUse Composer to simplify mobile device detection and file download size calculationsApr 18, 2025 am 11:33 AM

When developing a website, I encountered a common but difficult problem: how to accurately determine the type of user access device and how to quickly get the download size of a file. These features may seem simple, but they need to deal with a lot of details and compatibility issues when implemented. After some exploration, I discovered the Composer package weizhang/utilities, which provides a simple and effective solution.

Developing your own php framework: the journey with LarapioDeveloping your own php framework: the journey with LarapioApr 18, 2025 am 11:30 AM

In this artigo, let's go to the process of development for a fuphphpchamalrapio, it is created to make it possible to proceed with the information on the way of the way, the one whos, the one is not required to be awarded in the way to the development of the development.

How to simplify email marketing with Composer: DUWA.io's application practicesHow to simplify email marketing with Composer: DUWA.io's application practicesApr 18, 2025 am 11:27 AM

I'm having a tricky problem when doing a mail marketing campaign: how to efficiently create and send mail in HTML format. The traditional approach is to write code manually and send emails using an SMTP server, but this is not only time consuming, but also error-prone. After trying multiple solutions, I discovered DUWA.io, a simple and easy-to-use RESTAPI that helps me create and send HTML mail quickly. To further simplify the development process, I decided to use Composer to install and manage DUWA.io's PHP library - captaindoe/duwa.

Use Composer to solve the problem of mail logging: Application of jakub-kaspar/mailer libraryUse Composer to solve the problem of mail logging: Application of jakub-kaspar/mailer libraryApr 18, 2025 am 11:24 AM

I encountered a headache when developing an application that requires sending a large number of mails: how to effectively record and manage the sending records and status of these mails. The traditional method is to manually record the sending of emails, but this is not only inefficient, but also prone to errors. To solve this problem, I decided to use Composer to introduce a library specifically for mail logging - jakub-kaspar/mailer.

See all articles

Hot AI Tools

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.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools