2014-01-07 44 views
0

我想知道什么是将一些Composer库导入PyroCMS应用程序,尤其是在模块中的最佳方式(或者至少是一个好的方法)。如何在PyroCMS模块中使用Composer软件包?

我知道Phil Sturgeon已经为CodeIgniter提出了一个方法,并且PyroCMS建立在CodeIgniter之上。 http://philsturgeon.co.uk/blog/2012/05/composer-with-codeigniter

但是PyroCMS正在丢弃CI给Laravel,再加上PyroCMS带来了一个额外的层叫模块

我的意思是,模块应该是独立的,一切都在一个文件夹中。这就是为什么我没有关注菲尔·斯特金的文章。

这是我当前如何做一个例子:

my_module/ 
    controllers/ 
    models/ 
    views/ 
    libraries/ 
    Lib1.php 
    Lib2.php 
    vendor/ 
    composer.json 
    ... 
    ... 

当我需要加载一些作曲家包,我在我的控制器补充一点:

require_once __DIR__'../libraries/vendor/autoload.php'; 

在大多数情况下,会正常工作。

但是,我有一个特定的包,Guzzle的问题。它找不到CAcert文件或其他东西...最后,用phar文件导入Guzzle救了我。

但我宁愿只在可能的情况下才使用Composer。所以也许我在加载软件包的方式上是错误的。也许作曲家不应该放在这里?

请记住,模块应该能够自行安装。

回答

1

如果你转向2.3版本呢?我正在使用它,它使用作曲家来处理软件包,这是最好的。我在2.2.x试过但没有成功,我把它移到2.3/dev。尝试一下!!

+0

我的问题恰恰是PyroCMS 2.2。 ^^另外,2.3已经在开发一段时间了,而且它似乎不会很快改变。它适用于生产环境。此刻,我什么也没有改变,我仍然在我的帖子中如何表达。 –