本文整理汇总了PHP中Versions::diff方法的典型用法代码示例。如果您正苦于以下问题:PHP Versions::diff方法的具体用法?PHP Versions::diff怎么用?PHP Versions::diff使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Versions
的用法示例。
在下文中一共展示了Versions::diff方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_history
/**
* @depends test_diff
*/
function test_history()
{
// test history
$history = Versions::history(self::$foo);
$this->assertEquals(count($history), 2);
$modified = Versions::diff($history[0], $history[1]);
$this->assertEquals($modified[0], 'name');
// get a count with class name (groups by pkey, so one result)
$history = Versions::history('Foobar', true);
$this->assertEquals($history, 1);
// get a count with object (all for the item, so two results)
$history = Versions::history(self::$foo, true);
$this->assertEquals($history, 2);
// get history from class name (groups by pkey, so one result)
$history = Versions::history('Foobar');
$this->assertEquals(count($history), 1);
}
示例2: Versions
<?php
/**
* Compares a previous version of a Model object to the
* current version, allowing you to restore the previous
* version if desired.
*/
$page->layout = 'admin';
if (!User::require_admin()) {
$this->redirect('/admin');
}
$ver = new Versions($_GET['id']);
$old = $ver->restore();
$class = $ver->class;
$cur = new $class($ver->pkey);
if ($cur->error) {
// deleted item
foreach (json_decode($ver->serialized) as $key => $value) {
$cur->{$key} = $value;
}
}
$diff = Versions::diff($old, $cur);
$data = array();
foreach ((array) $cur->orig() as $key => $value) {
$data[$key] = array('cur' => $value, 'old' => $old->{$key}, 'diff' => in_array($key, $diff) ? true : false);
}
$page->title = i18n_get('Comparing') . ' ' . $ver->class . ' / ' . $ver->pkey;
echo $tpl->render('admin/compare', array('fields' => $data, 'class' => $ver->class, 'pkey' => $ver->pkey, 'ts' => $ver->ts));