<?php
require __DIR__ . '/../autoload.php';
require __DIR__ . '/MyCodeCoverage.php';
$c_args=[
'--coverage-clover',
'--coverage-crap4j',
'--coverage-html',
'--coverage-php',
'--coverage-text',
];
$in_coverage=false;
foreach($c_args as $v){
if(!in_array($v,$_SERVER['argv'])){ continue; }
$in_coverage=true;
}
if(!$in_coverage && ini_get('tests.report')){
}
$options=[
];
MyCodeCoverage::G()->init($options);
return;
class RefFileGenerator
{
public static function Run()
{
$source=realpath(__DIR__.'/../src').'/';
$dest=realpath(__DIR__.'/../doc/ref').'/';
$directory = new \RecursiveDirectoryIterator($source, \FilesystemIterator::CURRENT_AS_PATHNAME | \FilesystemIterator::SKIP_DOTS);
$iterator = new \RecursiveIteratorIterator($directory);
$files = \iterator_to_array($iterator, false);
$classes=[];
foreach ($files as $file) {
$short_file=substr($file, strlen($source));
if(substr($short_file,0,1)==='.'){
continue;
}
$class =str_replace(['/','.php'],['\\',''],$short_file);
$file_name=$dest.str_replace(['/','.php'],['-','.md'],$short_file);
if (is_file($file_name)) {
echo "Skip Existed File:".$file_name."\n";
continue;
}
$data=static::getTemplate($class);
file_put_contents($file_name,$data);
}
}
public static function genIndex()
{
$source=realpath(__DIR__.'/../src').'/';
$dest=realpath(__DIR__.'/../doc/ref').'/';
$directory = new \RecursiveDirectoryIterator($source, \FilesystemIterator::CURRENT_AS_PATHNAME | \FilesystemIterator::SKIP_DOTS);
$iterator = new \RecursiveIteratorIterator($directory);
$files = \iterator_to_array($iterator, false);
$classes=[];
foreach ($files as $file) {
$short_file=substr($file, strlen($source));
if(substr($short_file,0,1)==='.'){
continue;
}
$class =str_replace(['/','.php'],['\\',''],$short_file);
$classes[]=$class;
}
$str='';
foreach($classes as $class){
$file=str_replace('\\','-',$class).'.md';
$str.="* [$class]({$file}) \n";
}
echo $str;
}
public static function getTemplate($class)
{
$ret=<<<'EOT'
# {ClassName}
## 简介
## 选项
## 公开方法
## 详解
EOT;
'EOT';
$ret=str_replace('{ClassName}',$class,$ret);
return $ret;
}
}