6

我想为我的应用程序安装第三方 PHP 类。我应该如何在 Yii2 中做到这一点?我在文档中找不到任何内容。

4

4 回答 4

6

最简单的方法是在 Yii2 定义的任何命名空间中注册你的类并在文件中使用它use app\namespace\classname;

于 2013-12-07T12:00:43.977 回答
4

就像 FIMAk 所说的,它在文档中有很好的记录,但我仍然不清楚如何将下载的库与自动加载器类一起使用。所以这就是我所做的:

1)在目录中创建新文件夹vendor并将库放在那里

2) 在包含 Yii 之前,在入口脚本中需要自动加载器,在基本应用程序模板的情况下,它是path_to_yii_installation/web/index.php

例如,在我需要生成 Excel 工作表之前,我曾参与的一个项目中,我发现 PHPExcel 是执行此操作的最佳库。所以我像这样包含了PHPExcel自动加载器:

require(__DIR__ . '/../vendor/excel/PHPExcel.php');

我的完整index.php文件如下所示:

<?php

// comment out the following two lines when deployed to production
// defined('YII_DEBUG') or define('YII_DEBUG', true);
// defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/../vendor/excel/PHPExcel.php');
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/../config/web.php');

(new yii\web\Application($config))->run();

3) 在你的控制器、模型或任何你想使用库的顶部添加use LibraryClassName,就是这样。

于 2015-09-06T10:04:40.787 回答
3

实际上它在文档中描述得很好。

您可以了解如何安装:

  1. 使用作曲家;
  2. 使用下载的库;
    • 如果库带有自己的类自动加载器;
    • 如果库不提供类自动加载器,但其类命名遵循 PSR-4;
    • 如果以上都不是这种情况;
于 2014-12-12T10:37:35.230 回答
2

在 composer.json 中添加第三方库并点击一个命令

 composer update

总是选择基于作曲家的库。

于 2013-12-21T10:36:09.810 回答