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
PHP 5.3.2 or above is required to run Composer. 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 strive 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 run it in any directory Use the composer command directly.
Manual installation
This installs composer.phar 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 added to 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. At this time, we have successfully installed ---
--- 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 is 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.*" } }
其它这是一个 monolog 的一个配置项, 最后我们在 E:\composer> 执行:
composer install 则也可以安装 monolog
至此关于 composer 的安装与 monolog 日志记录工具的案例测试到这里就结束了。文中如有错误地方,望能指出,热爱分享,热爱生活!
以上概念性文字来源于 composer 中文网,案例来源于个人。