根据codeigniter文档,我们应该如何用自己的库替换本机库:
只需将您的类文件命名为与本机库相同即可 导致CodeIgniter使用它而不是原生的。要用这个 功能必须完全命名文件和类声明 与本地图书馆相同。
但是当我给两个同名的类时,Apigen无法为它们生成文档,而是显示此错误消息:
无法生成此类的文档。
类最初在application / libraries / Session.php和 由于以下原因无效:
Class已在system / libraries / Session.php中重新声明。
(在这种情况下,我正在尝试替换会话类)。
在这种情况下哪一个有罪,是codeigniter还是Apigen?怎么可能解决这个问题?
答案 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