我想知道将一些Composer库导入PyroCMS应用程序的最佳方法(或者至少是一种好方法)是什么,尤其是在模块中。
我知道Phil Sturgeon已经为CodeIgniter提出了一种方法,PyroCMS是在CodeIgnitor的基础上构建的。http://philsturgeon.co.uk/blog/2012/05/composer-with-codeigniter
但PyroCMS正在为Laravel减少CI,加上PyroCMS带来了一个名为模块的额外层。
我的意思是,模块应该是自包含的,所有内容都在一个文件夹中。这就是为什么我没有关注菲尔·斯特金的文章。
这是我目前工作的一个例子:
my_module/
controllers/
models/
views/
libraries/
Lib1.php
Lib2.php
vendor/
composer.json
...
...
当我需要加载一些Composer包时,我会在我的控制器中添加这个:
require_once __DIR__'../libraries/vendor/autoload.php';
在大多数情况下,这会很好。
但是,我对一个特定的包Guzzle
有问题。它找不到CAcert文件或其他什么。。。最后,用phar
文件导入Guzzle救了我一命
但如果可能的话,我宁愿只使用Composer。所以也许我装包裹的方式不对。也许作曲家不应该放在这里?
请记住,模块应该能够自行安装。
如果转移到2.3版本会怎样?我正在使用它,它使用composer来处理包,这是最好的。我尝试了2.2.x,但没有成功,我让它移动到2.3/dev。试试吧!!