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. linux含有某字符串的文件

    find .|xargs grep -ri "IBM" -l 只列出文件名:grep -rn "Item" * -l pattern files

  3. 【POJ 2352】 Stars

    [题目链接] http://poj.org/problem?id=2352 [算法] 树状数组 注意x坐标为0的情况 [代码] #include <algorithm> #include ...

  4. Neo4j下执行cypher-shell时,Connection refused问题解决?

    不多说,直接上干货!  问题现象 root@zhouls-/bin# ls cypher-shell neo4j neo4j-admin neo4j-import neo4j-shell tools ...

  5. [转]java多线程并发去调用一个类的静态方法安全性探讨

    文章转自:https://blog.csdn.net/weibin_6388/article/details/50750035 这篇文章主要讲多线程对静态方法访问的数据安全性 总结如下: 1,java ...

  6. Unity3D项目

    Input.mousePosition //鼠标点击的位置 0 左键  1右键  2滚轮 Input.GetMouseButton(0) //当鼠标左键处于按下状态的时候返回True Input.Ge ...

  7. Android蓝牙2.0连接以及数据接收发送

    1.加入权限 <uses-feature android:name="android.hardware.bluetooth_le" android:required=&quo ...

  8. Java 自带MD5 校验文件

    http://www.iteye.com/topic/1127319 前天第一次发表博客到论坛,关于Java文件监控一文,帖子地址在:http://www.iteye.com/topic/112728 ...

  9. 我的nginx+php是如何配置的?

    nginx使用homebrew安装,安装之后 ngxin 安装目录:/usr/local/Cellar/nginx/1.8.0 删除掉默认的www目录,创建一个自己方便找到的 删除掉默认的www目录 ...

  10. 页面定制CSS代码初探(二):自定义h2标题样式 添加阴影 添加底色 等

    故事的开始 先说一下<h2></h2>原先默认是空白的,很难看 然后今天无意中看到一个博友的标题很好看啊,一直就想要这种效果有没有? 好的东西自然要拿过来啦 通过审查元素,果然 ...