文档章节

composer的介绍与使用

熊猫88
 熊猫88
发布于 2016/01/28 10:24
字数 818
阅读 429
收藏 2
点赞 1
评论 0

  Composer 是 PHP 的 一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。主要解决的问题:有非常多优秀的开源库,直接使用可以大大节约开发的 时间,但是在标准的库里面,又没有这些功能,于是在运行他们对应的系统的时候,需要去下载相关的库。(因为你需要跨平台的移植性,所以就需要对所引用的库 进行说明与管理)这样就出现了composer

    composer的安装:

 1.curl -sS https://getcomposer.org/installer | php

下载Composer 的二进制文件,是一个 PHAR 包(PHP 的归档)

curl -sS(s是指静默安装,S是指出现错误就报错)如果没有这俩个参数,会显示下载安装进度

但是国内安装composer的时候会经常失败:(如下,受制于国内网络的限制)


 

一个比较好的补充办法:

curl -sS http://install.phpcomposer.com/installer | php 

这个是国内的版本。可以看到很快就会下载好


 

2.下载好了composer.phar之后,我们无法直接用composer命令,需要让其在全局进行使用,需要将其移动到/usr/local/bin/ 文件目录下面(然后我们可以自己做一个命名)

 Mv composer.phar   /usr/local/bin/composer 

这样我们就可以全局使用了(在命令行里面输入composer就可以全局使用)

 

3.安装完成之后:(需要不定期的进行更新依赖库,才能拿到最新的依赖库)

   composer selfupdate 

Composer的几个相关概念:

1.phar包:PharPHP Archive缩写,将php文件归档到一个文件包。将一个模块的文件打包成一个phar,这样方便模块整体迁移,只需将phar文件移动过去,其他环境中include即可使用。 

2.查看composer包 会发现该phar包 的头部是 #!/usr/bin/env php(该语句表明该命令是用环境里的php进行运行)


 

3.使用对应项目的composer.json 非常简单,在其对应的文件目录下面,composer install

即完成了依赖库的安装。

  Composer的写法:(一般依赖库的文件名叫composer.json)下面以Laravel最新版本的composer.json为例子进行说明:

{

  //包的名字

    "name": "laravel/laravel",

    //包的简单描述

    "description": "The Laravel Framework.",

    //包的关键词

    "keywords": ["framework", "laravel"],

    //许可证,确保其他程序员在使用的时候,没有法律上的问题

    "license": "MIT",

    //包的类型,默认为 library。这里是项目

    "type": "project",

    //需要的依赖条件

    "require": {

        "php": ">=5.5.9",

        "laravel/framework": "5.2.*"

    },

    //列出开发这个包(或跑测试等等)所依赖的包。在使用 install 命令时,只有带上 “–dev” 参数才能安装 dev 包。在使用 update 命令时,带上 “–no-dev” 则不更新。

    "require-dev": {

        "fzaninotto/faker": "~1.4",

        "mockery/mockery": "0.9.*",

        "phpunit/phpunit": "~4.0",

        "symfony/css-selector": "2.8.*|3.0.*",

        "symfony/dom-crawler": "2.8.*|3.0.*"

    },

    //提供给 PHP autoloader 的自动加载映射

    "autoload": {

        "classmap": [

            "database"

        ],

        "psr-4": {

            "App\\": "app/"

        }

    },

    //测试环境下的自动映射

    "autoload-dev": {

        "classmap": [

            "tests/TestCase.php"

        ]

    },

    "scripts": {

        "post-root-package-install": [

            "php -r \"copy('.env.example', '.env');\""

        ],

        "post-create-project-cmd": [

            "php artisan key:generate"

        ],

        "post-install-cmd": [

            "php artisan clear-compiled",

            "php artisan optimize"

        ],

        "pre-update-cmd": [

            "php artisan clear-compiled"

        ],

        "post-update-cmd": [

            "php artisan optimize"

        ]

    },

    //针对项目的一些配置。

    "config": {

        "preferred-install": "dist"

    }

}

 


© 著作权归作者所有

共有 人打赏支持
熊猫88
粉丝 18
博文 63
码字总数 65287
作品 0
程序员
动手开发自己的第一个 composer 包

动手开发自己的第一个 composer 包 composer 是 PHP 的依赖管理工具,本篇文章就来说明如何构建一个包,并提交到 Packagist ,这样别人就可以方便地通过 composer 使用你的包了。 开发 comp...

蜗牛奔跑 ⋅ 2016/11/24 ⋅ 0

使用Composer管理PHP依赖关系

发表在我的博客:http://starlight36.com/post/composer-in-php 简介 现在软件规模越来越大,PHP项目的开发模式和许多年前已经有了很大变化。记得初学PHP那会儿,boblog是一个很好的例子,几...

烫烫烫烫烫烫 ⋅ 2013/08/15 ⋅ 0

PHP 开发者该知道的 5 个 Composer 小技巧

PHP 开发者该知道的 5 个 Composer 小技巧 Composer 是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给...

peasant ⋅ 2016/12/02 ⋅ 0

Composer -- PHP依赖管理的新时代

Composer -- PHP依赖管理的新时代对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少: 依赖处理容易...

张悟空 ⋅ 2016/05/31 ⋅ 0

Hyperledger Fabric周周记:Composer

在上周周记的结尾,我曾经说过本周要介绍Fabric的开发和应用。按照最开始的写作计划,我打算讲讲两种开发模式:直接使用Fabric API和利用Composer框架。可在通读完Composer的文档之后,我立即...

胡键 ⋅ 05/21 ⋅ 0

徒手解剖composer,简单了解其实现过程

“composer”?,相信很多做PHP工作的对他并不陌生,他是一个针对第三方库管理工具,解决库与库之间的依赖关系等等等,例如一些yii、laravel等框架都搭载着composer来方便管理第三方包和自身...

Eller ⋅ 2016/11/06 ⋅ 1

Composer PHP依赖管理的新时代

对于现代语言而言,包管理器基本上是标配。Java有Maven,Python有pip,Ruby有gem,Nodejs有npm。PHP的则是PEAR,不过PEAR坑不少: 依赖处理容易出问题 配置非常复杂 难用的命令行接口 好在我...

看看这天 ⋅ 2015/08/08 ⋅ 0

关于在 Laravel 5 中集成七牛云存储实现云存储功能

关于在 Laravel 5 中集成七牛云存储实现云存储功能 使用的是七牛官方的SDK,非storage版本 方法很简单,仅介绍Composer 安装方式,如下: 安装 Composer 运行 Composer 命令安装最新稳定版本...

红枫醉 ⋅ 2016/09/15 ⋅ 1

PHP5的composer学习从入门到精通

从入门到精通,只需四个步骤,解决下面四个问题即可 1.什么是composer?(入门) Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Com...

行走的螃蟹 ⋅ 2014/10/08 ⋅ 20

Yaf 中使用 Larvael Eloquent ORM

本教程示例代码见:https://github.com/creazy412/yaf2eloquentorm 背景介绍 Yaf 是鸟哥(Laruence)在俩年前写的一个PHP扩展的MVC框架. 开发Yaf的目的是为了解决使用框架带来的性能下降的经...

老K8 ⋅ 05/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 19分钟前 ⋅ 1

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部