概述
composer入门教程--初识 composer
composer简介
composer 是 PHP 的一个依赖管理工具,它并不是一个包管理器,它允许开发人员声明项目所依赖的代码库,它会在项目中安装他们。
composer 利用 PSR-0 到PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。composer类似著名的 npm 和 RubyGems,给海量 PHP 包提供了一个异常方便的协作通道。
php代码规范PSR简介
Framework Interoperability Group(框架可互用性小组),简称 FIG,FIG 提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范:
- PSR-0 (Autoloading Standard) 自动加载标准
- PSR-1 (Basic Coding Standard) 基础编码标准
- PSR-2 (Coding Style Guide) 编码风格向导
- PSR-3 (Logger Interface) 日志接口
- PSR-4 (Improved Autoloading) 自动加载优化标准
为什么要使用composer
考虑如下场景
一个项目如果只是自己一个人开发的话,自己很清楚需要引入什么库,此时如果有新同事又加入项目一起开发,你告诉他要引入什么库,这时候可能会遇到版本库不一致、存放位置不一致、依赖库引入不方便等问题。如果项目再继续增加人手,项目需要传播给其它成员时,在引入依赖库的时候也会重复遇到以上问题。
composer很好的解决了以上场景出现对的问题,在进行项目开发时只需声明项目所依赖的东西,composer 会找出哪个版本的包需要安装,并将它们下载到项目中。
composer实际应用
目前php的主流框架都使用了composer,常见的有Laravel 、Symfony 、CodeIgniter 3、Yii 2 等等,composer 就是 PHP 框架的未来,有了它,让 CI 的路由和 Laravel 的 Eloquent ORM 协作就会变的非常简单。
composer入门教程--安装composer
系统要求
运行composer 需要 PHP 5.3.2+以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。
windows下手动安装composer
1 .检查是否打开了php_openssl.dll扩展
2 . 下载composer.phar(需要翻墙)
- 1
下载成功的提示如下:
分享我下载下来的composer.phar
3 . 将composer.phar执行文件路径写入环境变量
重启dos窗口,在任意路径下输入
- 1
安装成功!
MAC下安装
Composer 是 homebrew-php 项目的一部分
- 1
- 2
- 3
- 4
- 5
LINUX下安装
- 下载composer.phar
- 1
2.把composer.phar移动到环境下让其变成可执行
- 1
composer版本更新
执行以下命令,进行版本更新
composer入门教程--初始化工作目录
初始化工作目录
使用composer初始化工作目录,在项目的根目录命令行输入:
- 1
一些输入项可以先跳过,完成初始化工作后将在项目根目录生成composer.json文件。
编写composer.json文件
使用composer进行项目管理需要指定项目所依赖的库,需要编写composer.json声明依赖关系,格式如下:
- 1
- 2
- 3
- 4
- 5
- 6
每个项目都可以看成是一个包, 使用“name”指定项目的包名称,从而让它成为一个可安装的包。
使用“require”指定项目所需要安装的依赖包。
例如:在实际项目开发中需要使用PHP日志记录工具monolog,声明依赖如下:
- 1
- 2
- 3
- 4
- 5
- 6
注:”1.0.*” 指依赖库版本 大于等于1.0且小于1.1。
更多版本号声明方式:
composer入门教程--安装项目依赖
安装项目依赖
接上一篇文章composer入门教程–初始化工作目录(3) 编写的composer.json文件,在composer.json文件所在目录命令行下执行如下命令:
- 1
安装项目依赖成功后的文件如下:
其中,vendor文件夹存放了项目的依赖库,composer把安装时确切的版本号列表写入composer.lock文件用来锁定composer,这将锁定该项目的特定版本。
composer.lock文件
当项目根目录下已经生成composer.lock文件时,当执行命令composer intsall
时composer只会下载composer.lock文件指定的版本,忽略 composer.json 文件中的定义,从而确保团队成员都使用相同的依赖包。
更新依赖库
若package.json进行了修改需要更新依赖库和更新锁文件,可以执行以下命令:
composer入门教程--在项目中使用composer
准备工作
配置composer.json文件如下:
- 1
- 2
- 3
- 4
- 5
- 6
执行:
- 1
composer自动加载机制
对于库的自动加载信息,composer 生成了一个 vendor/autoload.php 文件。在项目中引入这个文件即可自动加载依赖库。
demo1
demo1的功能是使用php-crypt-md5这个库的加密函数。
在vendor同级目录下创建demo1.php,代码如下:
- 1
- 2
- 3
- 4
运行结果:
demo2
demo2的主要功能是使用monolog记录php日志。
在vendor同级目录下创建demo2.php,代码如下:
- 1
- 2
- 3
- 4
- 5
运行结果:
最后
以上就是知性鞋子为你收集整理的composer入门教程composer入门教程--初识 composercomposer入门教程--安装composercomposer入门教程--初始化工作目录composer入门教程--安装项目依赖composer入门教程--在项目中使用composer的全部内容,希望文章能够帮你解决composer入门教程composer入门教程--初识 composercomposer入门教程--安装composercomposer入门教程--初始化工作目录composer入门教程--安装项目依赖composer入门教程--在项目中使用composer所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复