Composer使用实践
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使用实践的更多相关文章
- PHP 教程:Composer 最佳实践
概述 Composer 是 PHP 应用程序的依赖管理器,最初发布于大约 8 年前,2012 年 3 月. 在 php 中使用 Composer 可以提高代码的可重用性,并使你的项目能够轻松地集成来自 ...
- composer实践总结
composer composer 概述 FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范: PSR- ...
- 利用Redis cache优化app查询速度实践
注意:本篇文章译自speeding up existing app with a redis cache,如需要转载请注明出处. 发现问题 在应用解决方法之前,我们需要对我们面对的问题有一个清晰的认识 ...
- 【REST WCF】30分钟理论到实践
先来点理论知识,来自 http://www.cnblogs.com/simonchen/articles/2220838.html 一.什么是Rest REST软件架构是由Roy Thomas Fie ...
- Squid 操作实践
Squid简介 Squid可以做什么 性能要素 Squid安装 Squid快速体验 Squid配置 Squid简介 Squid is a caching proxy for the Web suppo ...
- Shadow Mapping 的原理与实践(一)
早在上世纪七十年代末,Williams在他的“Casting Curved Shadows on Curved Surface”一文中提出了名为Shadow Map的阴影生成技术.之后,他人在此基础上 ...
- Ratchet(WebSockets for PHP)的官方TUTORIALS 的实践
前几天稍微看了一下Ratchet,并且实践了一下它官方例子.所以现在就将实践的过程记录下来. 在具体实践之前先将Ratchet是什么东东,要先说明一下.以下的英文是从官方copy过来的 Ratchet ...
- 【Yii系列】最佳实践之后台业务框架
缘起 上面的几章都讲概念了,没有怎么讲到实践的东西,可能会有些枯燥,这很正常的,概念还是需要慢慢啃的,尤其是官网其他的部分,需要狠狠的啃. 什么,你啃不动了?看看官网旁边的那个在线用户吧. 你不啃的时 ...
- [转]PHP开发者必须了解的工具—Composer
本文转自:https://blog.csdn.net/Zhihua_W/article/details/80345973 Composer是PHP 用来管理依赖(dependency)关系的工具.你可 ...
随机推荐
- (LeetCode)二叉树中和为某一值的路径
原体例如以下: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that addin ...
- 敏捷开发 —— TDD(测试驱动开发)
测试驱动开发 TDD(Test-Driven Development)是敏捷开发的一项核心实践,同时也是一种设计技术和方法. 既然是测试驱动,便是测试,测试用例先行: 首先编写好测试用例,期待值,实际 ...
- SSH不允许进行DNS解析
ssh设置DNS不解析 sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config/etc/init.d/sshd restar ...
- POJ 1128 Frame Stacking 拓扑排序+暴搜
这道题输出特别坑.... 题目的意思也不太好理解.. 就解释一下输出吧.. 它让你 从下往上输出. 如果有多种情况,按照字典序从小往大输出... 就是这个多种情况是怎么产生的呢. 下面给一组样例. 很 ...
- java中拦截器 过滤器 监听器都有什么区别
过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts2的action进行业务逻辑,比如过滤掉非法u ...
- C++面向对象的设计思想——小结
1 对象的概念 面向对象(Object Oriented Analysis Design,OOAD)的思想把整个世界看成是由具有某种特征行为功能的基本单元——对象构成的.OOAD把一个对象的特征称为属 ...
- POJ 1995 Raising Modulo Numbers 【快速幂取模】
题目链接:http://poj.org/problem?id=1995 解题思路:用整数快速幂算法算出每一个 Ai^Bi,然后依次相加取模即可. #include<stdio.h> lon ...
- 亲历:IT 从业者避免猝死攻略 v1.0
作者:香蕉痞 出处:http://www.geekpark.net/read/view/191188?u=0 亲历:IT 从业者避免猝死攻略 v1.0 By 香蕉痞 | 2013/10/28 [核心提 ...
- Python中的itertools.product
例子1:import itertoolsa = itertools.product([1,2,3],[100,200])print(a)for item in itertools.product([1 ...
- Python-基础-day4
深浅copy 1.先看赋值运算 h1 = [1,2,3,['aihuidi','hhhh']] h2 = h1 h1[0] = 111 print(h1) print(h2) #结果: # [111, ...