Apigen无法为替换库生成文档

时间:2012-08-22 21:10:32

标签: php codeigniter documentation

根据codeigniter文档,我们应该如何用自己的库替换本机库:

  

只需将您的类文件命名为与本机库相同即可   导致CodeIgniter使用它而不是原生的。要用这个   功能必须完全命名文件和类声明   与本地图书馆相同。

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

  

无法生成此类的文档。

     

类最初在application / libraries / Session.php和   由于以下原因无效:

     

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

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

在这种情况下哪一个有罪,是codeigniter还是Apigen?怎么可能解决这个问题?

1 个答案:

答案 0 :(得分: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