美文网首页php文录
php-composer作用分析

php-composer作用分析

作者: Best博客 | 来源:发表于2019-05-11 00:01 被阅读0次

项目开发过程中,拓展包的引入能够帮助我们快速且强大的开发我们的项目,js中的node install  ,golang中的go mod而php我们用的就是composer,像这样 composer require lingyuyizhipao/http 

当然你也可以用原声自己慢慢造轮子,但引入可以帮助更好更快的做更多的事情,那么composer是如何帮助我们的呢,下面来好好分析分析。

其实我们的初衷是我们需要使用的对象能够给我们使用就行了,但是计算机肯定是要code加载到内存中去运行才行的啊,那就意味着每使用一个对象之前php就得require_once该对象的class文件到内存中,麻烦!spl_autoload_register 这个函数就是php专门用来解决这个问题的,它可以帮我注册一个我们自定义的函数,每当我们new一个内存中找不到的对象的时候,就会去调用我们自定义的函数,而且会把这个函数名称传到自定义函数,那么就有游戏的空间了,围绕这出现了很多标准,比如autoload_psr4,autoload_classmap,autoload_namespaces,autoload_static(这些是我在laravel自动加载中复制出来的),有对标准感兴趣的可自行百度,总之composer就是利用自动加载函数和自动加载标准规则让我们的工具类很轻松容易被引用并使用的。

composer require lingyuyizhipao/http  或者你随便composer安装一个拓展吧,你的项目根目录下就会出来

composer.json,composer.lock以及vendor文件夹,composer.json是定义composer依赖的一种标准,可自行百度每一项属性的含义,在vendor这个文件夹下有个composer文件夹,里面就是composer工作中所需要的必要文件了,每当我们composer install ,composer require , composer update, composer dump-autoload  等等等,其实就是更新里面的几个规范文件,每一个规范都对应自身的一个映射规则,你点击一看便明白要么就是命名空间映射文件路径,要么就是会自动再加点什么后缀的路径。

那么我们再来理一下啊,compsoer的各种作用命令为好好的维护好vendor/composer下的文件,里面就是一堆字符串到类文件路径的关联映射,就保证了我们的代码一种能力,当我们new一个内存中不存在的对象的时候,自动加载函数根据我们new的对象的类的名称,去composer维护的那么些文件规则中走一趟,发现了就引入,从而保证new对象的正常进行,这才是工作的真正原理,所有的规范都只为更好的被使用,但其深处的原理却只有一个,那就是必须得映射到存在的class类文件才行,因为php只认一个,new的这个对象的类文件必须存在于内存中,就此打住。

自己写一个composer包发布到composer服务器上走一遍流程。

相关文章

  • php-composer作用分析

    项目开发过程中,拓展包的引入能够帮助我们快速且强大的开发我们的项目,js中的node install ,golan...

  • 谁说菜鸟不懂数据分析-读书整理

    数据分析简述: 数据分析分类及作用: 分类:描述性分析,探索性分析,验证性分析 作用:现状分析,原因分析,...

  • 第五天:聚类分析与判别分析

    聚类分析、判别分析 聚类分析和判别分析有相似的作用,都是起到分类的作用。但是,判别分析是已知分类然后总结出判别规则...

  • 相关回归常见问题

    多数情况下,变量关系研究是问卷研究的核心,变量关系研究包括相关分析,线性回归分析,中介作用分析,调节作用分析等,并...

  • SDWebImage

    作用 组织架构 文件类分析

  • 8_goto和void分析

    关键词:goto副作用分析、 void的意义、void*指针的意义 1. goto副作用分析 输出结果: 总结:g...

  • Kotlin 作用域函数

    目录 作用域函数分析 常见作用域函数with,apply,also,let,run,with 作用域函数用法 1....

  • Thread

    衍生的问题 AccessControlContext 类的作用 在线程里面的作用ThreadLocal 源码分析 ...

  • 2018-01-06(5)力场分析

    力场分析是建立在作用力和反作用的图标分析。适用于正反两面分析,帮助分析出促进或者阻碍项目进行的点。它既可以用...

  • 数据分析是干什么的?

    数据分析是干什么的主要从两个纬度来理解?一是数据分析的作用;二是数据分析的工作内容。 数据分析的作用 单纯的谈数据...

网友评论

    本文标题:php-composer作用分析

    本文链接:https://www.haomeiwen.com/subject/iwwzoqtx.html