我是靠谱客的博主 知性鞋子,最近开发中收集的这篇文章主要介绍composer入门教程composer入门教程--初识 composercomposer入门教程--安装composercomposer入门教程--初始化工作目录composer入门教程--安装项目依赖composer入门教程--在项目中使用composer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 非官方规范:

  1. PSR-0 (Autoloading Standard) 自动加载标准
  2. PSR-1 (Basic Coding Standard) 基础编码标准
  3. PSR-2 (Coding Style Guide) 编码风格向导
  4. PSR-3 (Logger Interface) 日志接口
  5. PSR-4 (Improved Autoloading) 自动加载优化标准

为什么要使用composer

考虑如下场景

  一个项目如果只是自己一个人开发的话,自己很清楚需要引入什么库,此时如果有新同事又加入项目一起开发,你告诉他要引入什么库,这时候可能会遇到版本库不一致存放位置不一致依赖库引入不方便等问题。如果项目再继续增加人手,项目需要传播给其它成员时,在引入依赖库的时候也会重复遇到以上问题。

composer很好的解决了以上场景出现对的问题,在进行项目开发时只需声明项目所依赖的东西,composer 会找出哪个版本的包需要安装,并将它们下载到项目中。

composer实际应用

目前php的主流框架都使用了composer,常见的有Laravel Symfony CodeIgniter 3Yii 2 等等,composer 就是 PHP 框架的未来,有了它,让 CI 的路由和 Laravel 的 Eloquent ORM 协作就会变的非常简单。


==========================================================================

composer入门教程--安装composer

系统要求

运行composer 需要 PHP 5.3.2+以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。

windows下手动安装composer

1 .检查是否打开了php_openssl.dll扩展 
这里写图片描述 
2 . 下载composer.phar(需要翻墙)

php -r "readfile('https://getcomposer.org/installer');" | php
  • 1

下载成功的提示如下: 
这里写图片描述
分享我下载下来的composer.phar

3 . 将composer.phar执行文件路径写入环境变量 
这里写图片描述 
重启dos窗口,在任意路径下输入

composer -v
  • 1

这里写图片描述 
安装成功!

MAC下安装

Composer 是 homebrew-php 项目的一部分

brew update
brew tap josegonzalez/homebrew-php
brew tap homebrew/versions
brew install php55-intl
brew install josegonzalez/php/composer
  • 1
  • 2
  • 3
  • 4
  • 5

LINUX下安装

  1. 下载composer.phar
curl -sS https://getcomposer.org/installer | php
  • 1

 2.把composer.phar移动到环境下让其变成可执行 
 

mv composer.phar /usr/local/bin/composer
  • 1

composer版本更新

执行以下命令,进行版本更新

composer selfupdate


========================================================================

composer入门教程--初始化工作目录

初始化工作目录

使用composer初始化工作目录,在项目的根目录命令行输入:

composer init
  • 1

一些输入项可以先跳过,完成初始化工作后将在项目根目录生成composer.json文件。

编写composer.json文件

使用composer进行项目管理需要指定项目所依赖的库,需要编写composer.json声明依赖关系,格式如下:

{
"name":"testor/composer_test"
,"require": {
"提供者/项目名":"项目版本"
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

每个项目都可以看成是一个, 使用“name”指定项目的包名称,从而让它成为一个可安装的包。 
使用“require”指定项目所需要安装的依赖包。 
例如:在实际项目开发中需要使用PHP日志记录工具monolog,声明依赖如下:

{
"name":"testor/composer_test"
,"require": {
"monolog/monolog": "1.0.*"
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

:”1.0.*” 指依赖库版本 大于等于1.0且小于1.1。 
更多版本号声明方式: 
这里写图片描述



========================================================================

composer入门教程--安装项目依赖

安装项目依赖

接上一篇文章composer入门教程–初始化工作目录(3) 编写的composer.json文件,在composer.json文件所在目录命令行下执行如下命令:

 php composer.phar install或composer install
  • 1

安装项目依赖成功后的文件如下: 
这里写图片描述
其中,vendor文件夹存放了项目的依赖库,composer把安装时确切的版本号列表写入composer.lock文件用来锁定composer,这将锁定该项目的特定版本。

composer.lock文件

当项目根目录下已经生成composer.lock文件时,当执行命令composer intsallcomposer只会下载composer.lock文件指定的版本,忽略 composer.json 文件中的定义,从而确保团队成员都使用相同的依赖包。

更新依赖库

package.json进行了修改需要更新依赖库和更新锁文件,可以执行以下命令:

 php composer.phar update或composer update

=====================================================================

composer入门教程--在项目中使用composer


准备工作

配置composer.json文件如下:

{
"require": {
"monolog/monolog": "1.0.*",
"driehle/php-crypt-md5": "2.0.*@dev"
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

执行:

php composer.phar install
  • 1

composer自动加载机制

对于库的自动加载信息,composer 生成了一个 vendor/autoload.php 文件。在项目中引入这个文件即可自动加载依赖库。

demo1

demo1的功能是使用php-crypt-md5这个库的加密函数。 
在vendor同级目录下创建demo1.php,代码如下:

require 'vendor/autoload.php';
use Md5CryptMd5Crypt;
$cryptedpassword = Md5Crypt::unix
("123456" ,"123");
echo $cryptedpassword;
  • 1
  • 2
  • 3
  • 4

运行结果:

这里写图片描述

demo2

demo2的主要功能是使用monolog记录php日志。 
在vendor同级目录下创建demo2.php,代码如下:

<?php
require 'vendor/autoload.php';
$log = new MonologLogger('name');
$log->pushHandler(new MonologHandlerStreamHandler('app.log', MonologLogger::WARNING));
$log->addWarning('Foo');
  • 1
  • 2
  • 3
  • 4
  • 5

运行结果: 
这里写图片描述


本教程结束,你学会了吗!

最后

以上就是知性鞋子为你收集整理的composer入门教程composer入门教程--初识 composercomposer入门教程--安装composercomposer入门教程--初始化工作目录composer入门教程--安装项目依赖composer入门教程--在项目中使用composer的全部内容,希望文章能够帮你解决composer入门教程composer入门教程--初识 composercomposer入门教程--安装composercomposer入门教程--初始化工作目录composer入门教程--安装项目依赖composer入门教程--在项目中使用composer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部