Rumah >pembangunan bahagian belakang >tutorial php >如何设置composer的加载顺序?

如何设置composer的加载顺序?

WBOY
WBOYasal
2016-06-06 20:06:101181semak imbas

有如下库文件:

<code>$ cd src/lib/Xyz/
$ ls
a.php b.php c.php
</code>

然后 composer.json 文件中 autoload 为:

<code>autoload: {
  psr-4: {
    Xyz\\: src/lib/Xyz/
  }
}
</code>

现在我想在运行 composer install 的时候给库 Xyz 增加全局初始化函数,具体来说就是,增加文件 x.php,而该文件的内容是这样的:

<code><?php \Xyz\Create::setDefaultMsg();
</code></code>

相当于说,x.php 文件是整个 Xyz 库最先执行的,是其他 php 文件需要的东西。

所以,该如何编写 composer.json 文件呢?

回复内容:

有如下库文件:

<code>$ cd src/lib/Xyz/
$ ls
a.php b.php c.php
</code>

然后 composer.json 文件中 autoload 为:

<code>autoload: {
  psr-4: {
    Xyz\\: src/lib/Xyz/
  }
}
</code>

现在我想在运行 composer install 的时候给库 Xyz 增加全局初始化函数,具体来说就是,增加文件 x.php,而该文件的内容是这样的:

<code><?php \Xyz\Create::setDefaultMsg();
</code></code>

相当于说,x.php 文件是整个 Xyz 库最先执行的,是其他 php 文件需要的东西。

所以,该如何编写 composer.json 文件呢?

在你的库最先执行的那个PHP文件上把它require进来

composer貌似不是做这个用的吧?它只负责管理依赖,而不管理包中的代码,你说的这个自己修改你的Xyz库源码不就行了。

@leunggamciu @incNick 谢谢,在源代码的入口文件里require倒是个办法;我只是想了解composer是否有这样的方法,我查了下资料,在 autoload 字段里,可以和 psr-4 并行的一个字段:files 或许能用,我抽时间尝试了,再回复下。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn