• 组件、框架、Packagist、Composer


    组件是一组打包的代码,是一系列相关的类、接口和Trait,用于帮助我们解决PHP应用中某个具体问题。

    优秀的PHP组件具备以下特性:

    • 作用单一:专注于解决一个问题,而且使用简单的接口封装功能
    • 小型:小巧玲珑,只包含解决某个问题所需的最少代码
    • 合作:PHP组件之间可以良好合作,组合在一起实现大型项目
    • 测试良好:本身提供测试,而且有充足的测试覆盖度
    • 文档完善:应该提供完善的文档,能让开发者轻易安装、理解和使用

    框架,从某种意义上来说,Laravel也是个基于组件开发的框架(核心组件是自身的Illuminate库,功能实现上则大量依赖第三方组件)。

    应该使用组件还是框架呢?

    答案是,使用正确的工具做正确的事,如果能通过一些PHP组件快速实现小型项目,那就使用组件,如果有多个团队成员开发大型项目,而且能从框架提供的约定准则和结构中受益,那就使用框架。

    Packagist查找PHP组件的社区。

    Composer则是安装PHP组件的工具,是PHP的依赖管理器,运行在命令行中,只要告诉Composer需要哪些组件,Composer会下载并把这些组件自动加载到你的项目中。

    Composer和Packagist紧密合作,如果你告诉Composer想要使用 guzzlehttp/guzzle 组件,Composer会从Packagist中获取 guzzlehttp/guzzle 组件,找到这个组件的仓库地址,确定要使用哪个版本,还能找出这个组件的依赖,然后把 guzzlehttp/guzzle 组件及其依赖下载到你的项目中。此外,Composer会为项目中的所有PHP组件自动生成符合PSR标准的自动加载器,有效地抽象了依赖管理和自动加载。

    Composer下载各个PHP组件时,会检查每个组件的 composer.json 文件,确定如何加载该组件,得到这个信息后,Composer会在本地为该组件创建一个符合PSR标准的自动加载器。这样我们就可以实例化项目中的任何PHP组件,这些组件按需自动加载。

     composer.lock 文件中会列出项目使用的所有PHP组件,以及组件的具体版本号,这其实是锁定了项目,让项目只能使用具体版本的PHP组件。这样的好处是,composer会下载这个文件中列出的具体版本,而不管Packagist中可用的最新版本是多少。

     如果确实要下载最新版本的组件并更新composer.lock,可以使用composer update命令。

    参考文档:https://laravelacademy.org/post/4506.html

  • 相关阅读:
    Jenkins结合.net平台工具之Msbuild
    Jenkins入门之执行定时任务
    Jenkins入门之执行Powershell脚本
    Jenkins入门之新建任务
    Redis主体流程分析
    【ELK】Centos7 安装 ELK 7.6.2 和 UI 管理界面以及测试例子
    德佑地产房产经纪人区域总监访谈:王凯:怎样做一个优秀的管理者?
    Thinkphp. Tp5路由实现api开发版本管理
    Mysql覆盖索引的概念及注意事项
    java大文件(视频)上传方法
  • 原文地址:https://www.cnblogs.com/cshaptx4869/p/10643422.html
Copyright © 2020-2023  润新知