好吧,已经有一段时间了
我其实决定去看看别的人在使用什么,偶然发现Yii(http://www.yiiframework.com)使用什么.
他们实际上使用PEAR模块作为其text_diff,并且在部门通道上使用它的新形式.看来,text_diff现在是一个部落项目,但您可以轻松地将其版本集成到您的应用程序中,这就是Yii默认情况下(它与其版本预捆绑在一起).
所以我搜索了一下,了解他们如何使用它,以及如何进入它,我遇到了:
public function actionDiff()
{
Yii::import('gii.components.TextDiff');
$model=$this->prepare();
if(isset($_GET['id']) && isset($model->files[$_GET['id']]))
{
$file=$model->files[$_GET['id']];
if(!in_array($file->type,array('php', 'txt','js','css')))
$diff=false;
elseif($file->operation===CCodeFile::OP_OVERWRITE)
$diff=TextDiff::compare(file_get_contents($file->path), $file->content);
else
$diff='';
$this->renderPartial('/common/diff',array(
'file'=>$file,
'diff'=>$diff,
));
}
else
throw new CHttpException(404,'Unable to find the code you requested.');
}
$diff=TextDiff::compare(file_get_contents($file->path), $file->content);
通过读取产生差分输出的两个文件的内容.
原来我不想使用PEAR因为膨胀,但是这个模块对于全功能的text_diff来说相当纤薄,所以我决定用这个.不仅如此,在这一刻,它是唯一一个真正为我工作的text_diff模块,所以我保持最好的,即使最好的是相当的记忆饥饿.