0

根据 codeigniter 文档,这就是我们应该用自己的库替换本地库的方法:

只需将您的类文件命名为与本机库相同的名称,就会导致 CodeIgniter 使用它而不是本机库。要使用此功能,您必须将文件和类声明命名为与本机库完全相同。

但是当我给两个类提供相同的名称时,Apigen 无法为它们生成文档,而是显示以下错误消息:

无法生成此类的文档。

类最初是在 application/libraries/Session.php 中声明的,并且由于以下原因无效:

类在 system/libraries/Session.php 中重新声明。

(在这种情况下,我试图替换会话类)。

在这种情况下,哪个是有罪的,codeigniter 还是 Apigen?以及如何解决这个问题?

4

1 回答 1

0

您可以使用该--exclude参数跳过您在 下替换的类system。手动列出覆盖的类可能很无聊,但您可以轻松编写脚本:

$app_files = glob('application/{core,libraries}/*.php', GLOB_BRACE);
foreach ($app_files as $file) {
    $sys_file = preg_replace('/^application\//', 'system/', $file);
    if (is_file($sys_file)) {
        print  ' --exclude '.realpath($sys_file); // looks like it has to be a full path
    }
}
print "\n";

并像这样在 CI 根目录中调用生成:

$ apigen `php overriden_classes.php` --source . --destination apigenout
于 2012-08-24T15:43:14.433 回答