首頁 >後端開發 >php教程 >如何设置composer的加载顺序?

如何设置composer的加载顺序?

WBOY
WBOY原創
2016-06-06 20:06:101168瀏覽

有如下库文件:

<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 或许能用,我抽时间尝试了,再回复下。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn