介绍 Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库。 依赖管理 Composer不是包管理器。是的,它实际上和"包"或者库打交道,但是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例
介绍
Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库。
依赖管理
Composer不是包管理器。是的,它实际上和"包"或者库打交道,但是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例如vendor
)。默认情况下它不会以全局的方式安装任何东西。因此,它是一个依赖管理器。
这个想法并不新鲜,Composer的灵感是来自于node的npm和ruby的bundler。但是目前PHP还没有一个这样的工具。
Composer解决的问题是:
a) 你有一个依赖N多库的项目。
b) 这些库中一些又依赖于其他的库。
c) 你声明你所依赖的库。
d) Composer找出哪些包的哪个版本将会被安装,然后安装它们(也就是把它们下载到你的项目中)。
声明依赖关系
假设你正在创建一个项目,然后你需要一个日志操作的库。你决定使用monolog。为了把它加入到你的项目中,你需要做的就是创建一个名为composer.json
的文件,其描述这个项目的依赖关系。
<code>{ "require": { "monolog/monolog": "1.2.*" } } </code>
我们简单的描述说我们的项目依赖某个monolog/monolog
包,版本只要是以1.2
开头的就行。
系统要求
Composer需要PHP 5.3.2+才能运行。一些灵敏的PHP设置和编译选项也是必须的,不过安装程序(installer)会警告你任何不兼容的地方。
如果想要从源码而不是简单的从zip压缩包中安装软件包的话,你将需要git,svn或者hg,这依赖于软件包是通过什么进行版本控制的。
Composer是兼容多平台的,并且我们力争使其在Windows,Linux和OSX上的运行无差异。
安装 - *nix
下载Composer可执行程序
局部安装
为了获取Composer,我们需要做两件事。第一个是安装Composer(前面说过了,这意味下载它到你的项目中):
<code>$ curl -sS https://getcomposer.org/installer | php </code>
这只会检查一些PHP设置,然后下载composer.phar
到你的工作目录中。这个文件是Composer二进制文件。它是一个PHAR (PHP
archive),PHP的归档格式,也可以像其他命令一样在命令行上运行。
你可以使用--install-dir
选项,并且提供一个目标目录(可以是绝对或者相对路径)从而把Composer安装到一个指定的目录:
<code>$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin </code>
全局安装
你可以把这个文件放到任何你想放的地方。如果你把它放到你的PATH
中,你就可以全局访问它了。在类unix系统中你甚至可以使它可执行,并且调用的时候不需要php
。
你可以执行这些命令从而能够在你的系统上简单的访问composer
:
<code>$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer </code>
然后,只需要执行composer
命令来运行Composer,而不是php composer.phar
。
安装 - Windows
使用安装程序
这是在你的机器上安装Composer最简单的方法。
下载并运行Composer-Setup.exe,它将会安装最新的Composer版本并且设置好PATH,然后你就可以在命令中的任何目录下调用composer
了。
手动安装
切换到一个存在于PATH
环境变量中的目录,然后执行安装代码片段来下载composer.phar:
<code>C:\Users\username>cd C:\bin C:\bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));" </code>
创建一个新的以.bat
结尾的composer文件:
<code>C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat </code>
关闭你当前的终端。打开一个新的终端测试一下:
<code>C:\Users\username>composer -V Composer version 27d8904 C:\Users\username> </code>
使用Composer
我们接下来要使用Composer来安装项目的依赖。如果你在当前目录下没有一个叫作composer.json
的文件,请跳到基本使用章节。
为了解决并下载依赖,运行install
命令:
<code>$ php composer.phar install </code>
如果你是全局安装,并且目录下没有phar文件,那么运行这个:
<code>$ composer install </code>
如果是上面的例子,这个操作将会下载monolog到vendor/monolog/monolog
目录。
自动加载
除了下载库之外,Composer也会创建一个自动加载文件,这个文件能够自动加载Composer下载的库中所有的类。如果想使用它,只需要在你代码启动的地方加上如下代码:
<code>require 'vendor/autoload.php'; </code>
哇哦!现在开始使用monolog吧! 如果想进一步学习Composer,继续阅读「基本使用」章节。 如果想要找需要的package,到Packagist。
参考
- 英文原文:http://getcomposer.org/doc/00-intro.md
原文地址:PHP依赖管理工具Composer入门, 感谢原作者分享。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Linux新版
SublimeText3 Linux最新版