Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。

地址在这里 库地址

这里相当于php应用商店,存放着很多库。

这些库,基本上储存在GitHub中。

他们跟GitHub建立一种链接,提供一个地址,下载GitHub上的资源。

再说说镜像是啥,因为有些资源是在国外服务器上,国内访问会很慢。国内的镜像,会周期性的更新国外服务器上的包。有了国内的镜像,访问这些库就会很快。

Windows下安装,需要找到php的执行程序。

将PHP目录加入到环境变量中,php.exe所在目录中。

这个时候php指令就成全局变量了。

在命令行工具输入composer,就表示已经安装成功了。

如何使用呢?

可以通过命令行,到相应的目录下执行指令。

也可以通过PHPStorm进行操作。

如何发布自己的库呢?

先注册GitHub,在GitHub中创建一个项目,然后迁出到本地。

这里的composer.json可以通过composer在命令行中生成,也可以自己写。

这里的项目名称要跟git中一致,并且不要有大写。

经过这个操作后,就会自动生成composer.json。

{
"name": "jiqing9006/composerdemo",
"description": "a composer test project",
"type": "project",
"license": "MIT",
"require": {}
}

这个是最核心的文件,这里面可以包括很多库,依赖,安装的时候都会自动下载。

下面执行安装。

经过这个安装操作后,项目中会生成一个vendor文件夹,里面下载了用到的其他库,如果没有其他库,就会是下面的默认的样子,有个自动加载php文件。

这个时候,就可以在这个项目中去创建自己的php文件和功能了。

如何让自己的项目发布到packagist上呢?

去packagist上注册一个账号。

点击submit发布自己的php库,

发布完成,就可以搜索到自己的库了。

会有一定的延迟!

这里还有一个要处理,弄一个钩子,让每一次的git提交,都能自动更新到库中。

经过这些处理之后,你的库就可以开发并且被被人下载使用了!

可以自己尝试下载一下!

E:\xampp\htdocs\composerDemo\test>composer create-project jiqing9006/composerdem

o demo dev-master --prefer-dist

这样demo目录下,就把自己的库弄下来了。

Composer使用实践的更多相关文章

  1. PHP 教程:Composer 最佳实践

    概述 Composer 是 PHP 应用程序的依赖管理器,最初发布于大约 8 年前,2012 年 3 月. 在 php 中使用 Composer 可以提高代码的可重用性,并使你的项目能够轻松地集成来自 ...

  2. composer实践总结

    composer composer 概述 FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范: PSR- ...

  3. 利用Redis cache优化app查询速度实践

    注意:本篇文章译自speeding up existing app with a redis cache,如需要转载请注明出处. 发现问题 在应用解决方法之前,我们需要对我们面对的问题有一个清晰的认识 ...

  4. 【REST WCF】30分钟理论到实践

    先来点理论知识,来自 http://www.cnblogs.com/simonchen/articles/2220838.html 一.什么是Rest REST软件架构是由Roy Thomas Fie ...

  5. Squid 操作实践

    Squid简介 Squid可以做什么 性能要素 Squid安装 Squid快速体验 Squid配置 Squid简介 Squid is a caching proxy for the Web suppo ...

  6. Shadow Mapping 的原理与实践(一)

    早在上世纪七十年代末,Williams在他的“Casting Curved Shadows on Curved Surface”一文中提出了名为Shadow Map的阴影生成技术.之后,他人在此基础上 ...

  7. Ratchet(WebSockets for PHP)的官方TUTORIALS 的实践

    前几天稍微看了一下Ratchet,并且实践了一下它官方例子.所以现在就将实践的过程记录下来. 在具体实践之前先将Ratchet是什么东东,要先说明一下.以下的英文是从官方copy过来的 Ratchet ...

  8. 【Yii系列】最佳实践之后台业务框架

    缘起 上面的几章都讲概念了,没有怎么讲到实践的东西,可能会有些枯燥,这很正常的,概念还是需要慢慢啃的,尤其是官网其他的部分,需要狠狠的啃. 什么,你啃不动了?看看官网旁边的那个在线用户吧. 你不啃的时 ...

  9. [转]PHP开发者必须了解的工具—Composer

    本文转自:https://blog.csdn.net/Zhihua_W/article/details/80345973 Composer是PHP 用来管理依赖(dependency)关系的工具.你可 ...

随机推荐

  1. (LeetCode)二叉树中和为某一值的路径

    原体例如以下: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addin ...

  2. 敏捷开发 —— TDD(测试驱动开发)

    测试驱动开发 TDD(Test-Driven Development)是敏捷开发的一项核心实践,同时也是一种设计技术和方法. 既然是测试驱动,便是测试,测试用例先行: 首先编写好测试用例,期待值,实际 ...

  3. SSH不允许进行DNS解析

    ssh设置DNS不解析 sed -i "s/#UseDNS yes/UseDNS no/"  /etc/ssh/sshd_config/etc/init.d/sshd restar ...

  4. POJ 1128 Frame Stacking 拓扑排序+暴搜

    这道题输出特别坑.... 题目的意思也不太好理解.. 就解释一下输出吧.. 它让你 从下往上输出. 如果有多种情况,按照字典序从小往大输出... 就是这个多种情况是怎么产生的呢. 下面给一组样例. 很 ...

  5. java中拦截器 过滤器 监听器都有什么区别

    过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts2的action进行业务逻辑,比如过滤掉非法u ...

  6. C++面向对象的设计思想——小结

    1 对象的概念 面向对象(Object Oriented Analysis Design,OOAD)的思想把整个世界看成是由具有某种特征行为功能的基本单元——对象构成的.OOAD把一个对象的特征称为属 ...

  7. POJ 1995 Raising Modulo Numbers 【快速幂取模】

    题目链接:http://poj.org/problem?id=1995 解题思路:用整数快速幂算法算出每一个 Ai^Bi,然后依次相加取模即可. #include<stdio.h> lon ...

  8. 亲历:IT 从业者避免猝死攻略 v1.0

    作者:香蕉痞 出处:http://www.geekpark.net/read/view/191188?u=0 亲历:IT 从业者避免猝死攻略 v1.0 By 香蕉痞 | 2013/10/28 [核心提 ...

  9. Python中的itertools.product

    例子1:import itertoolsa = itertools.product([1,2,3],[100,200])print(a)for item in itertools.product([1 ...

  10. Python-基础-day4

    深浅copy 1.先看赋值运算 h1 = [1,2,3,['aihuidi','hhhh']] h2 = h1 h1[0] = 111 print(h1) print(h2) #结果: # [111, ...