在Codeigniter上加载OpenTok库

时间:2017-08-24 06:40:12

标签: codeigniter composer-php opentok

我一直在尝试在Codeigniter中加载OpenTok PHP SDK。在OpenTok中没有任何实际的Codeigniter存储库。 我试图将OpenTok文件夹直接添加到库文件夹中并调用$this->load->library('OpenTok');但它没有帮助。

目前,我在核心PHP中使用这样的东西。

require "vendor/autoload.php";
use OpenTok\OpenTok;
use OpenTok\MediaMode;
use OpenTok\ArchiveMode;
use OpenTok\Session;
use OpenTok\Role;

我们从OpenTok获得的库是composer包。我的问题是如何调用Codeigniter中的那些。在Codeigniter中使用OpenTok的任何OpenTok开发人员?

感谢您的帮助。谢谢

2 个答案:

答案 0 :(得分:1)

在config / config.php中:

$config['composer_autoload'] = TRUE;

您的composer.json文件需要位于应用程序目录中。它可能看起来像这样:

{
    "name": "nsqdev/project",
    "description": "NSQ DEV PROJECT",
    "type": "application",
    "license": "Proprietary",
    "authors": [
        {
            "name": "NSQ DEV",
            "email": "nsqdev@nsqdev.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "opentok/opentok": "3.0.*"
    }
}

使用该位置(/ application)的composer命令,例如" composer install"。

现在,在您的控制器,型号或您想要运行opentok的任何地方:

use OpenTok\OpenTok;
$opentok = new OpenTok($apiKey, $apiSecret);

希望这会有所帮助。 composer.json文件可能不完美,因为您可能需要或需要更改opentok的版本。否则,CodeIgniter中的编写器使用非常简单,并且可以访问许多包。

更多信息:

正如@tpojka所述,您可以从命令行使用require。作曲家文档中提供的使用详情:https://getcomposer.org/doc/03-cli.md#require

有关作曲家的一般基本用法,请从此处开始:https://getcomposer.org/doc/01-basic-usage.md

答案 1 :(得分:0)

不幸的是,您无法将OpenTok文件作为库加载到CodeIgniter中,因为加载器类最初是在名称空间不存在时构建的。 CodeIgniter在v4阶段1中添加了名称空间支持:

https://bcit-ci.github.io/CodeIgniter4/general/modules.html#namespaces

我推荐使用OpenTok PHP SDK作为@ brian-gottier提到的!您还可以在此处找到有关在PHP中设置OpenTok的更多信息:https://github.com/opentok/OpenTok-PHP-SDK

他们有几个示例应用程序可以帮助您入门!