PHP 5.3.2 or above is required to run Composer.
curl -sS https://getcomposer.org/installer | php mv composer.phar mv composer.phar /usr/local/bin/composer
Note: If curl is not installed, you can install it through the following command
apt-get update apt-get install curl
After your Composer is installed, you can use the following Command to see if the installation is successful
composer -v
Note If the above method fails for some reason, you can also download the installer through php:
php -r "readfile('https://getcomposer.org/installer');" | php
This will check some PHP settings and then download c
omposer.pharto your working directory. This is the Composer binary. This is a PHAR package (PHP Archive), which is a PHP archive format that helps users perform some operations on the command line.
You can specify the Composer installation directory through the --install-dir
option (it can be an absolute or relative path)
4. Use To start using Composer in your projects, you only need a
file. This file contains the project's dependencies and other metadata.
First create a composer.json
file, write the corresponding package name and version number, such as
{ "require": { "monolog/monolog": "1.13.*" } }
After this, a dependent package is written, and then installed Dependency package. Get the defined dependencies to your local project, and then use Composer to run the install
command in your project directory (that is, the directory where
is located). <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer install</pre><div class="contentsignin">Copy after login</div></div>
Of course, if you are in a Windows
system, you can also install dependent packages by calling the
package. <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">php composer.phar install</pre><div class="contentsignin">Copy after login</div></div>
Execute composer install
to enter the automatic installation. After the installation is completed, a
file will be generated, which contains a specific version number. This file is required. Submit it to version management together with composer.json
. Finally, when you need to update dependency packages, you can use the following command
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer update</pre><div class="contentsignin">Copy after login</div></div>
If you only want to update some dependencies
composer update monolog/monolog
5. Automatic loading
For library autoloading information, Composer generates a
vendor/autoload.phpfile. You can introduce it in the entry file of your project
<?php require __DIR__ . '/vendor/autoload.php'; ?>
This makes it easy for you to use third-party code. For example: if your project depends on monolog, you can start using the library like this and they will be automatically loaded. <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;
$log = new Monolog\Logger(&#39;name&#39;);
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');
?></pre><div class="contentsignin">Copy after login</div></div>
6.Packagist/Composer China Full Image
Due to wall problems, foreign images of Composer often cannot be installed normally
install, so it is recommended to use domestic ones Mirroring is used as follows
There are two ways to enable this mirroring service:
- Method 1: Modify composer's global configuration file
- Open the command line window (windows users) or console (Linux, Mac users) and execute the following command:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer.json
configuration file of the current project:
Open the command line window (windows users) or console (Linux, Mac users) and enter In the root directory of your project (that is, the directory where the composer.json
file is located), execute the following command:
composer config repo.packagist composer https://packagist.phpcomposer.com
The above command will be in the composer.json# in the current project. ## The mirror configuration information is automatically added at the end of the file (you can also add it manually):
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } }
Composer can not only help you In addition to installing the required dependency packages, you can also implement the function of automatically loading the namespace. When the function libraries and class libraries we write ourselves need to be automatically loaded, we can achieve this through
composer.json
spl_autoload_register()
in php. In fact, if you look at the source code in Composer, you will see that its automatic loading function also uses thespl_autoload_register() function. . "For details, please see this article for detailed introduction"
We add the following code in
composer.json:
{ "autoload": { "psr-4": { "Test\\": "test/", "Testtwo\\": "testtwo/" } } }
这个配置文件中有一个 autoload 段,其中有个 《PSR-4》,psr-4 是一个基于 psr-4 规则的类库自动加载对应关系,只要在其后的对象中,以 ”命名空间“: “路径” 的方式写入自己的类库信息修改完成后,之后,在执行下列命令,即可完成自动加载。
composer dumpautoload
注:"psr-4": {"Test\\": "test/"}
中的 "test/" 路径为相对于composer.json
的路径
这个时候,你就可以调用你自己编写的函数库或者类库了
<?php require __DIR__ . '/vendor/autoload.php'; $testClass = new \Test\Testclass(); ?>
注:本文内容参考了《Composer 中文网》,后续还会更新 Composer 其它的实用功能