Home > Backend Development > PHP Tutorial > Composer PHP dependency management tool, composerphp_PHP tutorial

Composer PHP dependency management tool, composerphp_PHP tutorial

WBOY
Release: 2016-07-13 09:56:07
Original
1133 people have browsed it

Composer PHP dependency management tool, composerphp

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('获取信息失败');    
Copy after login

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.*"
    }
}
Copy after login

  其它这是一个 monolog 的一个配置项, 最后我们在 E:\composer> 执行:

      composer install 则也可以安装 monolog 

 

至此关于 composer 的安装与 monolog 日志记录工具的案例测试到这里就结束了。文中如有错误地方,望能指出,热爱分享,热爱生活!

以上概念性文字来源于 composer 中文网,案例来源于个人。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/990265.htmlTechArticleComposer PHP 依赖管理工具,composerphp composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(...
Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template