私が使用するAPIのためにapplication/libraries
に複数のライブラリーが作成されています。phpの名前空間を使用したHMVCパターンのコントローラーの名前付け
のAPI:
- Vimeoの
- Flickrの今、私は他のモジュールによって、要求に応じてライブラリと相互作用すること
application/modules/apis/controllers/vimeo.php
とapplication/modules/apis/controllers/flickr.php
で作成した
。
ライブラリ/ Flickr.php:
の問題は、今、私はクラスを再宣言ということです
Class Flickr { }
モジュール/ APIを/コントローラ/ flickr.php:
Class Flickr extends MX_Controller { }
だから、私はapache2ののエラーログに取得する:Cannot redeclare class Flickr in ...
EDIT:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
Class Flickr extends MX_Controller { ... }
私はどのように使用する必要があります:
namespace controllers\blog
class user extends \CI_Controller {
は、だから私のmodules/apis/controllers/flickr.php
ファイルに持ちます
ここで説明:http://codeigniter.com/forums/viewthread/212661/?
はやってみました:
<?php
//TRIED:
namespace controllers\flickr;
namespace Flickr;
namespace modules\apis\controllers\flickr;
if (! defined('BASEPATH')) exit('No direct script access allowed');
Class Flickr extends \MX_Controller { ... }
$_ns = __NAMESPACE__;
しかし、私は「アレックス」とコントローラと関数を呼び出し、私のログにエラーをエコー単純な関数からの応答がありません。
私は今それをチェックアウトしていますが、TNX – Alex
これが解決策になるように縫い目が、それは私が私の問題に適用する方法を理解してもらうことはできません。どのように '名前空間コントローラ\ブログ' 'クラスのユーザーが\ CI_Controller {'は私の場合でなければならないのですか? – Alex
パッチされたcodeigniterファイルを入手しましたか? – AndrewR