2

application/libraries为我使用的 API 创建了多个库。

蜜蜂:

  • 维密欧
  • 弗里克

现在我已经创建了application/modules/apis/controllers/vimeo.phpapplication/modules/apis/controllers/flickr.php它将根据其他模块的请求与库进行交互。

问题是现在我重新声明了类:

  • 库/Flickr.php:

    Class Flickr { }

  • 模块/api/控制器/flickr.php:

    Class Flickr extends MX_Controller { }

所以我进入了我的 apache2 的错误日志:Cannot redeclare class Flickr in ...

编辑:

所以在我的modules/apis/controllers/flickr.php文件中有:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

Class Flickr extends MX_Controller { ... }

我应该如何使用:

namespace controllers\blog

class user extends \CI_Controller {

在这里解释: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__;

但是我没有从一个简单的函数中得到任何响应,该函数回显了“alex”,并且在调用控制器和函数的日志中也没有错误。

4

1 回答 1

1

PHP 5.3 增加了对命名空间的支持。尽管 CodeIgniter 还不支持它们,但我确实找到了一个最近的论坛帖子,声称有一个补丁可以让你使用它们。

http://codeigniter.com/forums/viewthread/212661/

于 2012-03-08T20:21:32.230 回答