Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Document Path: /
Document Length: 37527 bytes
Concurrency Level: 10
Time taken for tests: 30.000 seconds
Complete requests: 10368
Failed requests: 0
Write errors: 0
Total transferred: 392999040 bytes
HTML transferred: 389079936 bytes
Requests per second: 345.60 [#/sec] (mean)
Time per request: 28.935 [ms] (mean)
Time per request: 2.894 [ms] (mean, across all concurrent requests)
Transfer rate: 12792.84 [Kbytes/sec] received
public function upload(array $data, $path)
{
if($data['error'])
return false;
$result = array(
'name'=>'',
'path'=>'',
'size'=>'',
'type'=>''
);
$name = str_replace(' ','_' , $data['name']);
$name = preg_replace("/[^A-Za-z0-9_\-\.]/i",'',$name);
$ext = File::getExt($name);
if(!in_array($ext , $this->_config['extensions'])){
return false;
}
/*
* предположим, что сравниваем объект "news" c известным нам id,
* знаем, что последняя версия 10
* Вариант 1 Сравнение объекта и его версии
*/
$vcModel = Model::factory('vc');
$object = new Db_Object('news', $id);
$dataBefore = $vcModel->getData('news', $id , 10);
/*
* Нельзя задавать id напрямую
*/
unset($dataBefore['id']);
$object->setValues($dataBefore);
var_dump($object->getUpdates());
/*
* Вариант 2 Сравнение 2ух версий объекта
*/
$dataBefore = $vcModel->getData('news', $id , 9);
$data = $vcModel->getData('news', $id , 10);
$diff = array();
foreach ($data as $k=>$v){
if(!isset($dataBefore[$k]) || $dataBefore[$k]!==$v)
$diff[] = $k;
}
var_dump($diff);
Это версионный контроль данных, какие слияния конфликты вы имеете в виду?
Не доводилось иметь дело сторонними VCS на уровне данных MySQL.
DVelum – платформа разработки на PHP + ExtJS4