轻松学会composer
编辑时间:2017-10-10 作者:jack
## 简介 对于现代语言而言,包管理器基本上是标配,Java有Maven,Python有pip,NodeJs有npm ,PHP之前是PERAR,不过PEAR有很多缺点。 * 依赖处理容易出现问题 * 配置非常复杂 * 难用的命令行接口 好在Composer诞生了。Composer是PHP中用来管理依赖关系的工具。你可以在自己的项目中声明所依赖的PHP包,Composer会帮我们安装这些依赖的库文件。这类似于CentOs中的yum命令。 `毫不夸张的说,现在不知道composer的phper,不是一个好phper。` ## Composer作用 1. composer是用来管理(更新、下载、卸载)php包 2. composer还可以实现自动加载 ## 在Linux安装composer步骤 a. 设置CentOs时间与网络时间同步(如果你的服务器时间不准确才需要设置) 1. 安装ntpdate工具 $ yum -y install ntp ntpdate 2. 设置系统时间与网络时间同步 $ ntpdate cn.pool.ntp.org 3. 将系统时间写入硬件时间 $ hwclock --systohc b. centos全局安装composer //composer下载地址https://getcomposer.org/composer.phar //将下载下来的composer.phar文件移动到/usr/local/bin目录下 是命令全局可用 mv composer.phar /usr/local/bin/composer c. 设置composer源 如果不设置composer源,那么composer将默认从国外下载包,速度将很慢。 $ composer config -g repo.packagist composer https://packagist.phpcomposer.com ## 使用Composer安装依赖包 ### 在项目目录建立composer文件,说明依赖,比如你的项目依赖monolog 那么你需要在composer.json文件中输入以下内容: { "require":{ "monolog/monolog":"1.21.*" } } ## 安装依赖 * 安装依赖非常简单,只需在项目目录下运行: $ composer install 运行了composer install 后就会下载写在composer.json文件中的包了 * 如果没有全局安装composer的话,则运行 $ php composer.phar install 注意php必须已经加入环境变量 * 另外一种使用composer下载包的方式 $ composer install 包名 ## 使用Composer安装的代码 Composer提供了自动加载的特性,只需要在你的代码中加入下面一行: require 'vendor/autoload.php'; ## Composer仓库 packagist.org网站是Composer的仓库,很多著名的PHP库都能在其中找到。我们也可以提交自己的库。 ## 更新Composer Composer最好经常更新 $ composer self-update ## 更新依赖 //如果修改了Composer.json文件,需要执行下面的命令,Composer.json文件才生效 $ composer update 如果你只是想更新几个包,你可以分别列出他们: $ composer update vendor/package vendor/package2 ## 如何使用我们写的代码 a. 编写composer.json告诉composer我们的代码在哪里 "autoload":{ "psr-4":{ "app\\Controller\\":"app/Controller", "app\\Model\\":"app/Model" } } "app\\Controller\\":"app/Controller", 左边("app\\Controller\\")的是 命名空间 右边("app/Controller")的是对应命名空间的代码的目录 b. 更新一下composer.json文件 $ composer update c. 只要在入口文件中 //也可以使用你自己写的代码了 require('./vendor/autoload.php'); ## 第一次使用composer完整步骤 a. 去到官网选择手动下载,得到composer.phar文件 https://getcomposer.org/composer.phar b. 将composer放入Linux命令中 $ mv composer.phar /usr/local/bin/composer c. 生成一个composer.json文件 composer init d. 将你要下载包,写到composer.json文件中。包名去`https://packagist.org/`网站找 { "require":{ "monolog/monolog":"1.21.*", "phpoffice/phpexcel": "^1.8", "overtrue/wechat": "~3.1" } } e. 配置packagist国内镜像 $ composer config -g repo.packagist composer https://packagist.phpcomposer.com f. 安装包 $ composer install ## 已经生成composer.json后如何安装包 a. 先确定你要安装包名 比如,我要下载predis/predis b. 运行下面命令下载 $ composer require predis/predis ## `转载,请标明来源!!`
来说两句吧
最新评论