PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP
也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到 PHP-FPM 中运行。
但是除了composer.phar本身以外,从我实际观察各种PHP开源项目以及composer上的各种包的源代码来看,好像这个phar并没什么人用啊,并不像java的jar包一样用途那么广泛。
PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP
也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到 PHP-FPM 中运行。
但是除了composer.phar本身以外,从我实际观察各种PHP开源项目以及composer上的各种包的源代码来看,好像这个phar并没什么人用啊,并不像java的jar包一样用途那么广泛。
应该是历史原因。
php 从最初的 cgi 以及 apache mod 运行模式,到后来的 php-fpm 运行模式,都是直接使用源文件运行,直到 5.3 才引入了 phar。
并且 phar 之间如果作为包管理,并不能像 java 那样简单的设置一个扫描路径就行了,php 的类自动加载器和命令空间规范近几年才开始差不多稳定下来,实际上仍然是可以自由设定的,更别说 phar 和 phar 之间的依赖到现在也没有个方法,说白了还是历史原因导致一直不重视这一块。
而且 php 的 phar 只是打包了源码,并不像 java 那样编译成 class 文件。
php 如果要做到 phar 流行,至少要做到以下和点:
如果做不到以上几点,想 phar 流行起来挺难,而且也没多大意义。
2 回答1.3k 阅读✓ 已解决
1 回答993 阅读✓ 已解决
2 回答850 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答906 阅读
1 回答891 阅读
1 回答820 阅读
这个的确是推广的不怎么样,大家更喜欢直接复制一个包使用,因为学习的时候就没有这么系统规范吧,加上人的惰性,很少人去学习如何使用composer