Composer 很重要很重要 内核 原理
话题先攒着,过来再来写
先来一张原理图

composer的原理和其他的包管理工具都是一样的,只是实现的细节有些不同,例如yum,例如brew,例如apt-get还有packets。
使用自己的composer库
1.首先我们要搞定本地,也就是图上本地的composer.json
可以使用命令或者自己创建
composer init #创建一个composer.json文件
composer install #第一次从远处仓库拉去php包的时候执行
composer update #修改本地的composer.json后执行
composer about #查看composer的信息
composer info
composer self-update#composer自己更新
composer --check#查看帮助
composer require #包含一个php包进来
remove 移除一个包
本地的必要配置如下
{
"repositories": [
{
"type": "vcs",
"url": "git@github.com:baixiaoshi/composer_test.git"
},
{
"packagist": false
}
],
"require": {
"hello/hello": "dev-master"
}
}
#这是一个最简短的配置,现在要拉去github上的一个名字叫做hello/hello的php包
repositories : 就是php远端仓库的地址啦,这里我用的类型是vcs也就是版本控制github上自己的测试包
packagist : 这里是禁用了官方的包仓库地址,
我们可以配置官方的地址来拉去php包
{
"type": "composer",
"url": "http://packagist.phpcomposer.com"
}
require选项包含远端php包,其中hello/hello是包的名字,所以待会我们自己创建一个包的名字也就是这个了,dev-master是版本的意思,我们经常看到这样的吧
{
"monolog/monolog": "~0.1" #~号表示大于的意思
}
2.下面就来搞定远端了,客户端的配置明显是要拉去一个名字叫做hello/hello,版本是dev-master的包,那就直接来了
{
"name": "hello/hello",#包的名字,客户端要找这个的啦
"autoload": {
"psr-4": {
"Hello\\": ""#这里设置包拉下来自动加载包里面的那些文件,是通过命令空间来自动加载的哦
}
},
"require": {
"php": ">=5.4.0"#如果有对其他的一些包的依赖还是require在这里就好了
}
}
<?php
namespace Hello;#这个命名空间就是上面autoload配置中的啦
class Hello {
public function say_hello() {
exit('hello world');
}
}
3.回到客户端执行composer install 当然就拉下来了这个包,当然只有一个测试文件而已。
Composer 很重要很重要 内核 原理的更多相关文章
- 20169212《Linux内核原理与分析》课程总结
20169212<Linux内核原理与分析>课程总结 每周作业链接汇总 第一周作业:完成linux基础入门实验,了解一些基础的命令操作. 第二周作业:学习MOOC课程--计算机是如何工作的 ...
- 20169212《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...
- 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业
2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...
- 2018-2019-1 20189221《Linux内核原理与分析》第四周作业
2018-2019-1 20189221<Linux内核原理与分析>第四周作业 教材学习:<庖丁解牛Linux内核分析> 第 3 章 MenuOS的构造 计算机三大法宝:存储程 ...
- 2018-2019-1 20189221《Linux内核原理与分析》第三周作业
2018-2019-1 20189221<Linux内核原理与分析>第三周作业 实验二 完成一个简单的时间片轮转多道程序内核代码 实验过程 在实验楼中编译内核 编写mymain.c函数和m ...
- 2018-2019-1 20189221《Linux内核原理与分析》第二周作业
读书报告 <庖丁解牛Linux内核分析> 第 1 章 计算工作原理 1.1 存储程序计算机工作模型 1.2 x86-32汇编基础 1.3汇编一个简单的C语言程序并分析其汇编指令执行过程 因 ...
- 20169207《Linux内核原理及分析》第十三周作业
第一周作业::对Linux的基本知识进行了了解,并对基本操作进行熟悉和应用. 第二周作业::了解了冯诺依曼体系结构.各种寄存器的功能和汇编指令的作用和功能. 第三周作业::这周主要了解了Linux系统 ...
- 《Linux内核原理与设计》第十一周作业 ShellShock攻击实验
<Linux内核原理与设计>第十一周作业 ShellShock攻击实验 分组: 和20179215袁琳完成实验及博客攥写 实验内容: Bash中发现了一个严重漏洞shellshock, ...
- 2017-2018-1 20179205《Linux内核原理与设计》第十周作业
<Linux内核原理与设计>第十周作业 教材17.19.20章学习及收获 1.在Linux以及所有unix系统中,设备被分为以下三种:块设备(blkdev)以块为单位寻址,通过块设备节点来 ...
- 2017-2018-1 20179205《Linux内核原理与设计》第七周作业
<Linux内核原理与设计>第七周作业 视频学习及操作分析 创建一个新进程在内核中的执行过程 fork.vfork和clone三个系统调用都可以创建一个新进程,而且都是通过调用do_for ...
随机推荐
- Scala学习1————scala开发环境搭建(windows 10)
Scala开发环境搭建 先讲几点我学习scala的目的或者原因吧: JVM在企业中的霸主地位,Scala也是JVM上的语言,很有可能未来会从Java过度到Scala也不是不可能. 先进的函数式编程和面 ...
- POJ 1946 DP
折腾了一晚上 明天再写.. 2016.5.17 23:59 -> -> #include <cstdio> #include <cstring> #include ...
- AES && DES加解密
MD5加密一般不可逆,只能暴力突破.所以这边记录一下一些关于字符串的加解密的两种方法,以便自己学习 AES public class AESHelper { public static string ...
- 【技术累积】【点】【git】【10】.gitignore和.gitattributes
.gitignore 告诉git忽略一些文件,git status会显示不到这些文件的状态. 一般放在项目根目录,以对全局控制,当然可以放在module下: 具体规则主要是: 以行为单位定义忽略文件类 ...
- 【sqli-labs】 less20 POST - Cookie injections - Uagent field - Error based (POST型基于错误的cookie头部注入)
以admin admin成功登陆之后,保存并显示了cookies信息 如果不点击Delete Your Cookie!按钮,那么访问 http://localhost/sqli-labs-master ...
- Arduino LM35温度检测
一. 接线原理图 二.实物图 三.代码例子
- scala类型系统:24) 理解 higher-kinded-type
首先我们从最基本的泛型来看: 现在我们对上面泛型中的类型参数再进一步,也是个泛型会如何呢? 可以看到,java中不支持类型参数也是泛型类型的情况,而scala支持.这是一个很重要的区别,scala在类 ...
- token的问题汇总
token的作用:认证.授权: 生成:随机码.时间戳.用户 设备 合成: 验证:是否存在.合成验证: 管理:有效期(服务器存储时间or cookie存储过期时间).展期. token生成:或者和用户信 ...
- crypto-js RC4和hash_hmac运用
遇到一个问题,前端需要加密,可能用到一些算法,推荐这个库:crypto-js, RC4是一个可逆的加密,看下用法: import CryptoJS from 'crypto-js'; const RC ...
- git_安装与配置
安装 windows平台安装 在windows平台安装git,需要下载exe.文件,下载地址:https://gitforwindows.org/,双击下载的.exe文件,按照提示进行安装,安装完成后 ...