Home  >  Article  >  Backend Development  >  Composer PHP dependency management tool

Composer PHP dependency management tool

WBOY
WBOYOriginal
2016-08-08 09:25:281136browse

composer is a tool used by PHP to manage dependency relationships. You can declare the external libraries (libraries) you depend on in your project, and Composer will install these dependent library files for you.

Dependency Management:
Composer is not a package manager. Yes, it involves "packages" and "libraries", but it's managed on a per-project basis, with installations in some directory within your project (e.g. vendor). By default it won't install anything globally. So this is just a dependency management.

This idea is not new, Composer is strongly inspired by node's npm and ruby's bundler. At that time, there was no similar tool for PHP.

Composer will solve the problem for you like this:

a) You have a project that depends on several libraries.

b) Some of these libraries depend on other libraries.

c) You declare what you depend on.

d) Composer will figure out which versions of packages need to be installed, and install them (download them into your project).


System Requirements

Running Composer requires PHP 5.3.2+ or above. Some sensitive PHP settings and compilation flags are also required, but the installer will throw a warning for any incompatibilities.

We will install directly from the source of the package, rather than simply downloading the zip file, you will need git , svn or hg , depending on the version management system you are loading the package into.

Composer is multi-platform and we work hard to make it run equally well on Windows, Linux and OSX platforms.

Installation - Windows


Use the installer

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

Download and run Composer-Setup.exe (https://getcomposer.org/Composer-Setup.exe), it will install the latest version of Composer and set the system environment variables, so you can use it directly in any directory composer command.

Manual installation
This leaves composer.phar installed in the E:/composer directory:

cmd

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. all rights reserved.

C:Userswangyulu>E:

E:>cd composer

E:composer>php -r "readfile('https://getcomposer.org/installer');" | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: E:composercomposer.phar
Use it: php composer.phar

---After this is executed, the composer.phar file will be created ---

E:composer>composer -V
'composer' is not recognized as an internal or external command, operable program
or batch file.

--- At this time, execute composer -V to check whether the installation is successful, the above error will be reported. At this time, we only need to add the file directory where composer.phar is located in the system environment variable ---
--- E: Composer is added to the system environment variables---

E:composer>composer -V
Could not open input file: E:composercomposer.phar-V

--- If you execute the view command at this time, the above error will be reported again. At this time, you only need to create another composer.bat file ---

E:composer>echo @php "%~dp0composer.phar" %*>composer.bat

---At this time we will find that a composer.bat batch file will be created in the E:composer directory ---

E:composer>composer -V
Composer version 1.0-dev (ea037305499d300f3a534b36a62abcdd1ba3479d) 2015-04-24 1
0:08:11

--- At this time, when we execute the above code, we will find a version number, and then we have successfully installed it ---
--- At this time, we use the monolog logging component to write a test case ---

E:composer>composer require "monolog/monolog:1.2.*"
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing monolog/monolog (1.2. 1)
Downloading: 100%

monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages
to a GrayLog2 server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an A
MQP server (1.0+ required))
monolog /monolog suggests installing ext-mongo (Allow sending log messages to a M
ongoDB server)
Writing lock file
Generating autoload files


--- After executing the above code, we will find that there are some more files in the E:composer directory as follows: ---

The following is the test code:

        require 'vendor/autoload.php';

	use Monolog\Logger;
	use Monolog\Handler\StreamHandler;
 
	// create a log channel
	$log = new Logger('个人中心模块');
	$log->pushHandler(new StreamHandler('your.log', Logger::WARNING));
	 
	// add records to the log
	$log->addWarning('获取信息失败');
	$log->addError('参数错误');

	$log = new Logger('登录注册模块');
	$log->pushHandler(new StreamHandler('your.txt', Logger::WARNING));
	$log->addWarning('登录失败');
	$log->addError('获取信息失败');    

The result of running the code is as follows:

The composer.json generated above was generated using a command. In fact, it can also be created manually:

Manually create a composer.json here and enter the following:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

 Others, this is a configuration item of monolog. Finally, we execute it in E:composer>:

composer install can also install monolog

This concludes the case test on composer installation and monolog logging tool. If there are any mistakes in the article, I hope you can point them out. Love sharing and love life!

The above conceptual text comes from the composer Chinese website, and the cases come from individuals.

The above has introduced the Composer PHP dependency management tool, including aspects of it. I hope it will be helpful to friends who are interested in PHP tutorials.

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