2017-08-24 17 views
0

私はCodeigniterでOpenTok PHP SDKを読み込もうとしています。 OpenTokにCodeigniterのリポジトリは実際にはありません。 ライブラリフォルダにOpenTokフォルダを直接追加しようとしましたが、$this->load->library('OpenTok');と呼ばれましたが、それは役に立たなかった。CodeigniterでOpenTokライブラリを読み込む

現在、私はこのようにコアPHPで使用していました。

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

OpenTokから入手したライブラリは、コンポーザーパッケージです。私の質問はCodeigniterでそれらを呼び出す方法です。 OpenTokをCodeigniterで使用したOpenTok開発者は誰ですか?

のconfig/config.phpのでは、あなたのhelp.Thanks

+0

これらのファイルをthird_partyフォルダに入れてパッケージとして使用できますか? https://www.codeigniter.com/user_guide/libraries/loader.html – TigerTiger

+0

@TigerTigerあなたが提案したとおりに使用しています。しかし、ブライアンの答えに対する私のコメントをチェックできますか?あなたの意見が必要です。ありがとう。 –

答えて

1

に感謝:

$config['composer_autoload'] = TRUE; 

あなたcomposer.jsonファイルは、アプリケーションディレクトリ内にする必要があります。

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

"composer install"のように、その場所(/アプリケーション)のコンポーザーコマンドを使用します。

今、あなたのコントローラ、モデル、またはどこであなたはopentok実行したい:このことができます

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

希望を。 opentokのバージョンを変更する必要があるかもしれないので、composer.jsonファイルは完璧ではないかもしれません。そうしなければ、CodeIgniterでのコンポーザーの使い方が簡単になり、たくさんのパッケージにアクセスできます。

さらに詳しい情報:@tpojka状態として

、コマンドラインから必要な使用することができます。作曲のドキュメントで利用可能な使用のための詳細:https://getcomposer.org/doc/03-cli.md#require

作曲の一般的な基本的な使用方法については、こちらを開始:ローダークラスは、もともとあったため、残念ながらhttps://getcomposer.org/doc/01-basic-usage.md

+1

JSONファイルは不要です。 composer_autoloadが有効にされた後、 'composer require opentok/opentok'を使うだけです。 – Tpojka

+0

@Brian Gottier私は** vendor_folder **を** third_partyフォルダ**にコピーし、このようなクラスの前にautoload.phpをロードしています: 'require_once APPPATH。 'third_party/vendor/autoload。php '; OpenTok \ OpenTokを使用します。 $ opentok =新しいOpenTok($ apiKey、$ apiSecret); '関数で使用するには、グローバル$ opentokを使用しています。 これは賢明な方法ですか?私はそれが –

+0

だとは思わない。いいえ、それをしないでください。 CodeIgniterに作者のautoloadを処理させ、あなたのパッケージを置くように設計された場所に置きます。私はあなたが今起こっていることを知っていることを知っていますが、1、2、または5年後にこのプロジェクトに戻ってきて、それに取り組む必要があると想像してください。あなたがそれを正しい方法で行うなら、あなたはもっと幸せになるでしょう。 –

0

が、あなたはCodeIgniterの中にライブラリとしてOpenTokファイルを読み込むことができません名前空間が存在しないときに構築されます。 CodeIgniterでは、v4のフェーズ1で名前空間のサポートを追加しました:

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

を私が述べたブライアン・gottier @としてOpenTok PHP SDKを使用することをお勧めします! OpenTokをPHPで設定する方法の詳細については、こちらをご覧ください:https://github.com/opentok/OpenTok-PHP-SDK

これらのアプリケーションには、使い始めるのに役立つサンプルアプリケーションがいくつかあります。

関連する問題