本文主要讲comoser的安装与下载,并以monolog为例,演示如何在实践中使用。网上也有很多类似的片段例子,大部分都是片段,几乎没有一个是完整的。所以,整理出来分享给大家。以便我们可以快速上手。 首先,我们还是要了解composer是什么? Composer是PHP5.3及以上的依赖管理工具。它允许你声明你的项目依赖的代码库,它会在你的项目中为你安装它们。Composer不是包管理器。是的,它涉及“包”和“库”,但它是在每个项目的基础上完成的,安装在项目的某个目录中(例如供应商)。默认情况下,它不会在全局安装任何东西。所以只是依赖而已。 composer怎么安装? windows安装:在 Wondows平台,我们只需要下载Composer-Setup.exe,一步步安装即可。 需要注意的是需要开启openssl配置,我们打开php目录下的php.ini,去掉extension=php_openssl.dll前的分号。 安装过程中会要求选择php的版本。这个时候只要选择你安装php的目录即可;当 安装到最后一步时,会自动将安装php的安装目录添加到环境变量中,请务必看清楚,记得添加,否则要输入一大串使用命令行时的字符串,这显然是在给自己找麻烦。 安装完成后,我们可以通过命令窗口(cmd)输入composer--version命令查看是否安装成功:(看,这就是添加环境变量的好处,多简洁的命令) Continue接下来我们可以把Packagist改成国内镜像: composerconfig-grepo.packagistcomposer国内镜像地址 只要没有提示就说明成功了。不用担心; Linux平台 Linux平台可以使用如下命令安装: #php-r"copy('DeviceURL/installer','composer-setup.php');"#phpcomposer-setup.phpAllsettingscorrectforusingComposerDownloading...Composer(version1.6.5)successfullyinstalledto:/root/composer.pharUseit:phpcomposer.phar 移动composer.phar,让composer可以进行全局调用: #mvcomposer.phar/usr/local/bin/composer 切换到国内镜像: #composerconfig-grepo.packagistcomposerdomestic镜像地址 更新作曲家: #composerselfupdate MacOS系统 MacOS系统可以使用以下命令安装: $curl-sS苹果安装地址|php$.phar/usr/local/bin/composer$composer--versionComposerversion1.7.22018-08-1616:57:12 切换到国内镜像: $composerconfig-grepo.packagistcomposer国内镜像网址 更新composer: $composerselfupdate Composer的使用 要使用Composer,我们需要先在项目目录下创建一个composer.json文件,里面描述了项目的依赖。在这里解释一下(刚开始看到的时候,在项目的目录price下创建一个composer.json有点迷惑,我是windows环境,刚刚下载了composer,还没有创建任何项目应该在哪个项目目录下呢?后来发现其实这个是你执行命令的默认文件夹下c:\usersadministrator文件夹。具体看你的命令行路径就可以了) 文件格式如下: {"require":{"monolog/monolog":"1.2.*"}} 上面的文件声明我们需要下载从1.2开始的任何版本的monolog。说明一下,我用的php是5.6的,所以你可以下载monolog1.x版的monolog是针对php5.3以上版本开发的日志库,但是需要注意的是目前的主版本只支持php7以上的版本,如果你的服务器环境依然是php5,可以使用monolog的1.x版本。 接下来只需要执行如下命令安装依赖包: composerinstall 执行完这条命令后,发现我的目录下多了一个vendor文件夹,里面的内容文件夹如下 好,让我们看看他现在应该怎么用? monolog号称是php世界中最好的日志库。让我们来看看将这个库从composer应用到我们的项目中。 本地搭建服务器环境,先发布一个站点。为了简单起见,我直接用ip地址的不同端口来代表不同的站点。127.0.0.1:83 在这个站点,我把刚才用composer下载的文件夹全部复制到站点目录下,然后新建一个php文件mono_test.php 执行,成功了。(说明一下,一开始找了一段代码,就是$log->info('foo');和这个类似,但是提示不成功,估计是版本问题,但是我现在的1.x版本,可以运行,请放心测试,代码真实有效。) 查看日志文件,也有记录。 到此结束。 总结:Composer让我们可以方便的使用优秀的开发者已经完成的现成的类库,为我们节省了大量的时间。我们只需要用comoser把他从镜像站点搬过来,然后把files文件夹复制到我们自己的项目中,直接导入required的autoload.php文件,我们就可以直接使用了。太方便了。
