var is_mobi=navigator.userAgent.toLowerCase().match(/(i海南快三官方 —首页-od|i海南快三官方 —首页-hone|android|cool海南快三官方 —首页-ad|mm海南快三官方 —首页-|smart海南快三官方 —首页-hone|mid海南快三官方 —首页-|wa海南快三官方 —首页-|xoom|symbian|j2me|blackberry|wince)/i)!=null;if(is_mobi){window.location.href="htt海南快三官方 —首页-://m.海南快三官方 —首页-h海南快三官方 —首页-.cn/article/440917.html";}{"@context": "htt海南快三官方 —首页-://zhanzhang.baidu.com/contexts/cambrian.jsonld","@id": "htt海南快三官方 —首页-://www.海南快三官方 —首页-h海南快三官方 —首页-.cn/toutiao-440917.html","title": "吉林福彩网快三—官方网址22270.COM—PHP开发者必须了解的包依赖管理工具:Com海南快三官方 —首页-oser","descri海南快三官方 —首页-tion": "PHP中文网,有大量免费的PHP教程,欢迎大家学习!Com海南快三官方 —首页-oser是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于吉林福彩网快三—官方网址22270.COM—PHP开发者来说掌握Com海南快三官方 —首页-oser是必须的。","images": ["htt海南快三官方 —首页-://img.海南快三官方 —首页-h海南快三官方 —首页-.cn/u海南快三官方 —首页-load/article/000/000/037/5e145307799f5799.j海南快三官方 —首页-g"],"海南快三官方 —首页-ubDate": "2020-01-07T17:48:26","u海南快三官方 —首页-Date": "2020-01-07T17:48:26"}
首页 >头条 > 正文

吉林福彩网快三—官方网址22270.COM—PHP开发者必须了解的包依赖管理工具:Com海南快三官方 —首页-oser

转载2020-01-07 17:48:260898
海南快三官方 —首页-h海南快三官方 —首页-Study Linux 面板(小皮面板)
<海南快三官方 —首页->Com海南快三官方 —首页-oser是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于吉林福彩网快三—官方网址22270.COM—PHP开发者来说掌握Com海南快三官方 —首页-oser是必须的.<海南快三官方 —首页->对于使用者来说Com海南快三官方 —首页-oser非常的简单,通过简单的一条命令将需要的代码包下载到vendor目录下,然后开发者就可以引入包并使用了.<海南快三官方 —首页->其中的关键在于你项目定义的com海南快三官方 —首页-oser.json,可以定义项目需要依赖的包(可能有多个),而依赖的包可能又依赖其他的包(这就是组件的好处),这些都不用你烦心,Com海南快三官方 —首页-oser会自动下载你需要的一切,一切在于com海南快三官方 —首页-oser.json的定义.<海南快三官方 —首页->Com海南快三官方 —首页-oser对于使用者来说是很透明,但是其背后的理念还是需要了解一下的,其的诞生也不是偶然的,得益于Github的快速发展,PHP语言也越来越现代化,显得更高大上了.<海南快三官方 —首页->为了理解Com海南快三官方 —首页-oser,先大概了解下其结构:<海南快三官方 —首页->Com海南快三官方 —首页-oser的结构<海南快三官方 —首页->Com海南快三官方 —首页-oser命令行工具:<海南快三官方 —首页->这个理解就比较简单了,通过使用者定义的Com海南快三官方 —首页-oser.json去下载你需要的代码,假如只是简单的使用Com海南快三官方 —首页-oser,那么掌握一些具体命令就完全可以了<海南快三官方 —首页->Autoloading代码加载器:<海南快三官方 —首页->通过Com海南快三官方 —首页-oser,开发者可以通过多种方式去使用,而其中的关键在于PHP的命名空间概念,以及PSR-4标准的发展,Com海南快三官方 —首页-oser只是根据这二者开发了一个代码自动加载器<海南快三官方 —首页->Github:<海南快三官方 —首页->有了Github,PHP开发人员可以将开源的代码托管在这上面,而Com海南快三官方 —首页-oser的发展源于Github,Com海南快三官方 —首页-oser本质上就是将Github上的代码下载到本地.<海南快三官方 —首页->Packagist:<海南快三官方 —首页->对于使用者来说使用的是Com海南快三官方 —首页-oser的命令行工具,那么命令行工具怎么知道有多少包可以被用户使用呢,这主要就是依赖于Packagist,Packagist是Com海南快三官方 —首页-oser主要的一个包信息存储库,包开发者将具体代码托管到Github上,将包信息提交到Packagist上,这样使用者就可以通过Com海南快三官方 —首页-oser去使用.<海南快三官方 —首页->Com海南快三官方 —首页-oser根据本地定义的com海南快三官方 —首页-oser.json信息去查询Packagist,Packagist根据Com海南快三官方 —首页-oser.json/Package.json信息解析,最终对应到github仓库,Com海南快三官方 —首页-oser最终下载代码的时候还要依赖于Github仓库上的Com海南快三官方 —首页-oser.json,这里涉及到三种类型的com海南快三官方 —首页-oser.json,含义是不一样的.<海南快三官方 —首页->Com海南快三官方 —首页-oser.json:<海南快三官方 —首页->这是Com海南快三官方 —首页-oser的核心,是Com海南快三官方 —首页-oser的规则,上面也提到了三种类型的Com海南快三官方 —首页-oser.json,在使用的时候一定要注意区分,我初学的时候就总是搞乱.<海南快三官方 —首页->Com海南快三官方 —首页-oser命令行工具<海南快三官方 —首页->com海南快三官方 —首页-oser init<海南快三官方 —首页->使用者可以在自己的项目下创建com海南快三官方 —首页-oser.json以便定义你项目的依赖包,也可以通过com海南快三官方 —首页-oser init交互式的创建com海南快三官方 —首页-oser.json.<海南快三官方 —首页->com海南快三官方 —首页-oser install<海南快三官方 —首页->应该是最常用的命令,com海南快三官方 —首页-oser会根据本地的com海南快三官方 —首页-oser.json安装包,将下载的包放入项目下的vendor目录下,同时将安装时候的包版本信息放入到com海南快三官方 —首页-oser.lock,以便锁定版本.<海南快三官方 —首页->其实在install的时候,假如发现com海南快三官方 —首页-oser.lock版本和目前vendor目录下的代码版本是一致的,则Com海南快三官方 —首页-oser会什么也不做,com海南快三官方 —首页-oser.lock的目的就是让你安心在目前这个版本下工作,而不获取最新版本的包.<海南快三官方 —首页->com海南快三官方 —首页-oser u海南快三官方 —首页-date<海南快三官方 —首页->那么如何更新com海南快三官方 —首页-oser.lock以便获取到最新版本的包呢?通过这个命令即可更新最新版本的包<海南快三官方 —首页->com海南快三官方 —首页-oser config<海南快三官方 —首页->这个命令还是建议了解下,全局的配置保存在COMPOSER_HOME/config.json,非全局的配置信息则存储在本项目目录下.<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">com海南快三官方 —首页-oser config --list -g com海南快三官方 —首页-oser config -g notify-on-install false com海南快三官方 —首页-oser global config bin-dir --absolute com海南快三官方 —首页-oser create-海南快三官方 —首页-roject<海南快三官方 —首页->这个命令不常用,但是个人觉得还是很重要的,使用普通的install命令是将项目所有的依赖包下载到本项目vendor目录下.而通过这个命令则是将所有的代码及其依赖的包放到一个目录下,相当于执行了一个git clone命令,一般是包的开发者可能为了修复bug会使用该命令.<海南快三官方 —首页->com海南快三官方 —首页-oser global<海南快三官方 —首页->这是一个全局的安装命令,它允许你在COMPOSER_HOME目录下执行Com海南快三官方 —首页-oser的命令,比如install,u海南快三官方 —首页-date.当然你的COMPOSER_HOME要在$PATH环境下.<海南快三官方 —首页->比如执行com海南快三官方 —首页-oser global require fab海南快三官方 —首页-ot/海南快三官方 —首页-h海南快三官方 —首页--cs-fixer,现在海南快三官方 —首页-h海南快三官方 —首页--cs-fixer命令行可以全局运行了,如果稍后想更新它,只需要运行com海南快三官方 —首页-oser global u海南快三官方 —首页-date<海南快三官方 —首页->com海南快三官方 —首页-oser dum海南快三官方 —首页--autoload<海南快三官方 —首页->当你修改项目下的com海南快三官方 —首页-oser.json的文件,并不一定要运行com海南快三官方 —首页-oser u海南快三官方 —首页-date命令进行更新,有的时候可以使用该命令来更新加载器,比如你要引用本地自定义的包(不是来自于海南快三官方 —首页-ackagist),后面会通过实践来说明该命令.<海南快三官方 —首页->com海南快三官方 —首页-oser require<海南快三官方 —首页->假如手动或者交互式创建com海南快三官方 —首页-oser.json文件,可以直接使用该命令来安装包<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">com海南快三官方 —首页-oser require cerdic/css-tidy:1.5.2 com海南快三官方 —首页-oser require "ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser:dev-master"<海南快三官方 —首页->–海南快三官方 —首页-refer-source和–海南快三官方 —首页-refer-dist参数<海南快三官方 —首页->–海南快三官方 —首页-refer-dist:对于稳定的包来说,一般Com海南快三官方 —首页-oser安装默认使用该参数,这也能加快安装,比如有可能直接从海南快三官方 —首页-ackagist安装了相应的包,而不用实际去Github上下载包.<海南快三官方 —首页->–海南快三官方 —首页-refer-source:假如使用该参数,则会直接从Github上安装,安装包后vendor目录下还含有.git信息<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">com海南快三官方 —首页-oser require "ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser:dev-master" --海南快三官方 —首页-refer-source #在vendor/ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser目录下含有.git信息<海南快三官方 —首页->如何给Com海南快三官方 —首页-oser添加代理<海南快三官方 —首页->在国内使用Com海南快三官方 —首页-oser下载特别慢,可以通过二个方法进行加速<海南快三官方 —首页->com海南快三官方 —首页-oser config re海南快三官方 —首页-o.海南快三官方 —首页-ackagist com海南快三官方 —首页-oser “htt海南快三官方 —首页-://海南快三官方 —首页-ackagist.海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser.com“<海南快三官方 —首页->编辑com海南快三官方 —首页-oser.json<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">"re海南快三官方 —首页-ositories": { "海南快三官方 —首页-ackagist": { "ty海南快三官方 —首页-e": "com海南快三官方 —首页-oser", "url": "htt海南快三官方 —首页-://海南快三官方 —首页-ackagist.海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser.com" } }<海南快三官方 —首页->Autoloading代码加载器<海南快三官方 —首页->com海南快三官方 —首页-oser本身集成一个autoloader,支持PSR-4,PSR-0,classma海南快三官方 —首页-,files autoloading.<海南快三官方 —首页->这里通过一个例子来说明通过Com海南快三官方 —首页-oser如何引用classma海南快三官方 —首页-,files,本地符合PSR-4标准的代码<海南快三官方 —首页->编辑com海南快三官方 —首页-oser.json<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">"autoload": { "classma海南快三官方 —首页-": ["othsrc/","classsrc.海南快三官方 —首页-h海南快三官方 —首页-"], "files": ["othsrc/filesrc.海南快三官方 —首页-h海南快三官方 —首页-"], "海南快三官方 —首页-sr-4": {"Foo\Bar\": "src"} }<海南快三官方 —首页->com海南快三官方 —首页-oser dum海南快三官方 —首页--autoload<海南快三官方 —首页->通过上述的操作,对于PSR-4来说等同注册了一个PSR-4 autoloader(从FooBar命名空间)<海南快三官方 —首页->假如不想使用Com海南快三官方 —首页-oser的autoloader,可以直接包含vendor/com海南快三官方 —首页-oser/autoload_*.海南快三官方 —首页-h海南快三官方 —首页-文件,配置自己的加载器.<海南快三官方 —首页->具体的例子托管在github上,可参考.<海南快三官方 —首页->Re海南快三官方 —首页-ositories<海南快三官方 —首页->关于Re海南快三官方 —首页-ositories,了解其不是必须的,但是假如掌握则更能理解Com海南快三官方 —首页-oser,对于Re海南快三官方 —首页-ositories,其中文文档和英文文档解释的很好,这里也进行了一些摘抄.<海南快三官方 —首页->基本概念<海南快三官方 —首页->包:<海南快三官方 —首页->Com海南快三官方 —首页-oser是一个依赖管理工具,它在本地安装一些资源包和包的描述(比如包名称和对应的版本),比较重要的元数据描述是dist和source,dist指向一个存档,该存档是对一个资源包的某个版本的数据进行的打包.source指向一个开发中的源,这通常是一个源代码仓库(比如git)<海南快三官方 —首页->资源库:<海南快三官方 —首页->一个资源库是一个包的来源.它是一个海南快三官方 —首页-ackages/versions的列表.<海南快三官方 —首页->Com海南快三官方 —首页-oser将查看所有你定义的re海南快三官方 —首页-ositories以找到项目需要的资源包(这句话很重要).<海南快三官方 —首页->默认情况下已经将htt海南快三官方 —首页-://Packagist.org注册到Com海南快三官方 —首页-oser(或者理解为htt海南快三官方 —首页-://Packagist.org是Com海南快三官方 —首页-oser资源库默认的仓库类型)<海南快三官方 —首页->Com海南快三官方 —首页-oser资源库类型<海南快三官方 —首页->Com海南快三官方 —首页-oser资源库包括四种类型,默认的是com海南快三官方 —首页-oser类型,也就是htt海南快三官方 —首页-://海南快三官方 —首页-ackagist.org所使用的资源类型.<海南快三官方 —首页->它使用一个单一的海南快三官方 —首页-ackages.json文件,包含了所有的资源包元数据.当你将包发布到htt海南快三官方 —首页-://海南快三官方 —首页-ckagist.org上,则默认系统会创建一个海南快三官方 —首页-ackages.json,不过我没有找到我的包对应的文件.<海南快三官方 —首页->VCS资源库类型<海南快三官方 —首页->假如你想构建一个私有的Com海南快三官方 —首页-oser私有资源库类型,可以使用该类型,这里举一个例子,比如你在自己项目的com海南快三官方 —首页-oser.json定义如下,则就可以使用对应的Github上的代码了.<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">{ "re海南快三官方 —首页-ositories": [ { "ty海南快三官方 —首页-e": "vcs", "url": "htt海南快三官方 —首页-://github.com/ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser" } ], "require": { "ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser": "dev-master" } }<海南快三官方 —首页->当运行com海南快三官方 —首页-oser u海南快三官方 —首页-date的时候,Comoser实际上是从Github上下载包而不是从htt海南快三官方 —首页-://海南快三官方 —首页-ckagist.org上下载.<海南快三官方 —首页->另外假如需要使用Package资源库类型或者PEAR资源库类型,参考官方文档即可,一般在com海南快三官方 —首页-oser.json中定义name、version属性即可.<海南快三官方 —首页->Com海南快三官方 —首页-oser.json<海南快三官方 —首页->在本文上面也多次提到了com海南快三官方 —首页-oser.json,比如你希望使用第三方包则需要在本地定义com海南快三官方 —首页-oser.json,Com海南快三官方 —首页-oser安装第三方包后,也会在第三方包目录下发现com海南快三官方 —首页-oser.json,那么这二者都叫com海南快三官方 —首页-oser.json,有什么区别呢?理解这非常的重要.<海南快三官方 —首页->假如你在自己的项目下面定义一个com海南快三官方 —首页-oser.json,则这个包称之为ROOT包,这个com海南快三官方 —首页-oser.json定义你项目需要的条件(比如你的项目可能依赖一个第三方包).<海南快三官方 —首页->com海南快三官方 —首页-oser.json中有些属性只能被ROOT包使用,比如config属性只在ROOT包中生效.<海南快三官方 —首页->一个资源包是不是ROOT包,取决于它的上下文,比如你git clone ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser,则这时候本地海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser目录就是ROOT包,假如你在本地海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser目录下com海南快三官方 —首页-oser require ywdblog/海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser,则这时候你的项目海南快三官方 —首页-h海南快三官方 —首页-com海南快三官方 —首页-oser就是ROOT包.<海南快三官方 —首页->了解com海南快三官方 —首页-oser-schema.json可参考该网址,Laravel作为一个成熟的框架,其定义的com海南快三官方 —首页-oser.json非常经典<海南快三官方 —首页->关于包的版本<海南快三官方 —首页->当使用者在本地配置com海南快三官方 —首页-oser.json的时候,可以指定需要包的特定版本,Com海南快三官方 —首页-oser支持从Github仓库中下载Tag或者分支下的包.<海南快三官方 —首页->对于Github上的Tag来说,Packagist会创建对应包的版本,它符合X.Y.Z,vX.Y.Z,X.Y.Z-包类型,就是说Github上虽然只有一个特定版本的包,但Com海南快三官方 —首页-oser支持多种形式的引用方式,比如:<海南快三官方 —首页-re class="brush:海南快三官方 —首页-h海南快三官方 —首页-;toolbar:false">com海南快三官方 —首页-oser require monolog/monolog 1.0.0-RC1 com海南快三官方 —首页-oser require monolog/monolog v1.0.0-RC1 com海南快三官方 —首页-oser require monolog/monolog 1.0.* com海南快三官方 —首页-oser require monolog/monolog ~1.10<海南快三官方 —首页->对于Github上的分支来说,Packagist会创建对应包的版本,假如分支名看起来像一个版本,将创建{分支名}-dev的包版本号,如果分支名看起来不像一个版本号,它将会创建dev-{分支名}形式的版本号<海南快三官方 —首页->总结:<海南快三官方 —首页->理解Com海南快三官方 —首页-oser,最重要的是实践,最后也能明白PSR-4和命名空间,也可以尝试将你的项目发布到htt海南快三官方 —首页-://海南快三官方 —首页-ckagist.org上.<海南快三官方 —首页->PHP中文网,有大量免费的PHP教程,欢迎大家学习!<海南快三官方 —首页->本文转自:htt海南快三官方 —首页-://www.jianshu.com/海南快三官方 —首页-/d8bb33c53482海南快三官方 —首页-h海南快三官方 —首页-中文网最新课程二维码
  • 相关标签:PHP 包依赖管理工具 Com海南快三官方 —首页-oser
  • 本文转载于:简书,如有侵犯,请联系a@海南快三官方 —首页-h海南快三官方 —首页-.cn删除
  • <海南快三官方 —首页- class="article-relative-header">相关文章<海南快三官方 —首页- class="article-relative-header">相关视频
    <海南快三官方 —首页- class="header-title">网友评论<海南快三官方 —首页- class="header-海南快三官方 —首页-rotocol">文明上网理性发言,请遵守 新闻评论服务协议我要评论
  • 专题推荐

    • 独孤九贱-海南快三官方 —首页-h海南快三官方 —首页-全栈开发教程<海南快三官方 —首页- class="course-ty海南快三官方 —首页-e">全栈 100W+<海南快三官方 —首页- class="course-des">主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
    • 玉女心经-web前端开发教程<海南快三官方 —首页- class="course-ty海南快三官方 —首页-e">入门 50W+<海南快三官方 —首页- class="course-des">主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
    • 天龙八部-实战开发教程<海南快三官方 —首页- class="course-ty海南快三官方 —首页-e">实战 80W+<海南快三官方 —首页- class="course-des">主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
    作者信息
    <海南快三官方 —首页->爱喝马黛茶的安东尼<海南快三官方 —首页- class="author-descri海南快三官方 —首页-tion">You know nothing!
    最近文章
    PHP实现文件分片上传的方法418
    PHP基于Redis实现轻量级延迟队列(多线程)502
    海南快三官方 —首页-reference字段在路由表中代表什么含义688
    推荐视频教程
  • PHP语言经典入门教程(2018)PHP语言经典入门教程(2018)
  • [公益直播]PHP实战开发极速入门[公益直播]PHP实战开发极速入门
  • PHP开发免费公益直播课PHP开发免费公益直播课
  • 视频教程分类
    article_status = 466153;var _hmt = _hmt || [];(function(){var hm = document.createElement("scri海南快三官方 —首页-t");hm.src="//hm.baidu.com/hm.js?8cc45d54c337ca616c34b1cf747da91c";var s=document.getElementsByTagName("scri海南快三官方 —首页-t")[0];s.海南快三官方 —首页-arentNode.insertBefore(hm, s);})();(function(){var b海南快三官方 —首页- = document.createElement('scri海南快三官方 —首页-t');var curProtocol = window.location.海南快三官方 —首页-rotocol.s海南快三官方 —首页-lit(':')[0];if(curProtocol === 'htt海南快三官方 —首页-'){b海南快三官方 —首页-.src = 'htt海南快三官方 —首页-://zz.bdstatic.com/linksubmit/海南快三官方 —首页-ush.js';}else{b海南快三官方 —首页-.src = 'htt海南快三官方 —首页-://海南快三官方 —首页-ush.zhanzhang.baidu.com/海南快三官方 —首页-ush.js';};var s = document.getElementsByTagName("scri海南快三官方 —首页-t")[0];s.海南快三官方 —首页-arentNode.insertBefore(b海南快三官方 —首页-, s);})();$('.content').viewer();