16. PHPer x Composer x PSR

今天是讲座笔记,内容来自 PHP也有Day #60 composer & vite ,建议大家有时间可以看看精彩的原影片。
讲座里也有提到比较进阶的内容=>如何解决套件冲突,就请有需要的人去看原影片了。
如果内容有误,希望大大路过不吝留言指教 >"<

讲座的主题之一是 Composer 的诞生前後。

问题

所有的工具出现都是为了解决问题,Composer 出现以前,开发者在管理套件相依有很大的困扰。

过去没有在分 public,都是直接写依照 URL 对应到各个 PHP 档案。
要使用套件的时候就会去下载(GitHub, zip...)回来,放在 libs 里面,再用路径引入。

https://ithelp.ithome.com.tw/upload/images/20211001/20139745u7IxK90Khx.png

套件相依会产生 include 地狱,include 地狱主要这样的情境:

  1. 不知道套件有跟什麽套件相依,如果对方没有写得很清楚,new 下去就坏掉了,坏了就去找来 include。
  2. 专案里的套件相依,的套件如果有版本更新,又要再检查套件相依问题。

https://ithelp.ithome.com.tw/upload/images/20211001/201397456tyKzq5Sfe.png

如何解决套件相依

想要标准化!

PHP-FIG 出现
=> 制定 PSR
=> 套件储存库(packagist)诞生, 套件管理工具(composer)诞生
=> 完成 PHP 生态系

PHP-FIG 是

  • 「道德伦理委员会」
  • 这个组织制定了 PHP 规范

PSR 是

composer 是

  • PHP 的套件相依管理工具

composer 解决的问题是

  • 标准化开发与散布
  • 以专案为单位管里相依套件(dependency)
  • PEAR 是以一台机器为单位
  • 弹性自动载入 PSR4
  • 弹性的套件储存库 packagist 来源公开套件/私人套件
  • 标准的自动化套件

composer 的优点是

  • 标准化
  • 自动化

延伸阅读


<<:  Dungeon Mizarka 019

>>:  AE新手必学の三种常用追踪方法03-Day30

爬虫怎麽爬 从零开始的爬虫自学 DAY21 python网路爬虫开爬-3我已满18岁(cookie)

前言 各位早安,书接上回我们已经能够成功抓到整页的文章标题了,今天我们要来破解 PTT 某些版上的是...

亚马逊网络服务 SAA-C02 认证考试和通过它的一些技巧

Are You Ready For AWS Certified Solutions Architec...

Day15:刀枪与弓箭

初学写程序的时候,常常会用到阵列(array)的概念,当我们想储存一堆有顺序性的值或变数时,就会把它...

Day 10 - [Zenbo开发系列] 07-DDE与App Builder

研究过程中,要把 DDE 安装到 Zenbo 的时候,卡关超久... 试过好多方法,当然也包括 Ap...

【day18】聊天室(上) X Realtime database

好的,今天我们要来看的就是我们的精华啦-聊天室。 原本我们在设计邀约流程的时候是。 (原本设想的流程...