【问题标题】:How to use Composer packages in a PyroCMS module?如何在 PyroCMS 模块中使用 Composer 包?
【发布时间】:2014-01-07 11:27:10
【问题描述】:

我想知道将一些 Composer 库导入 PyroCMS 应用程序,尤其是在模块中的最佳方式(或至少是一种好的方式)是什么。

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

但是 PyroCMS 正在为 Laravel 放弃 CI,而且 PyroCMS 带来了一个名为 modules 的额外层。

我的意思是,模块应该是独立的,所有内容都在一个文件夹中。这就是为什么我没有关注 Phil Sturgeon 的文章。

这是我目前正在做的一个例子:

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。所以也许我在加载包的方式上是错误的。也许 Composer 不应该放在这里?

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

【问题讨论】:

    标签: php codeigniter laravel composer-php pyrocms


    【解决方案1】:

    如果您迁移到 2.3 版本会怎样?我正在使用它,它使用 composer 来处理包,这是最好的。我在 2.2.x 中尝试但没有成功,我将其移至 2.3/dev。试试看!!

    【讨论】:

    • 我的问题正是针对 PyroCMS 2.2。 ^^ 另外,2.3 已经开发了一段时间,而且似乎不会很快改变。它用于在生产环境中使用。目前,我什么都没改变,我仍然按照我在帖子中所说的那样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    相关资源
    最近更新 更多