M 首页 > 技术文档 > Php > 文章查看

同类最新

相关文章


PHP ORM框架ezpdo(2)之EZPDOSQL

打印文档 收藏本文  
   ezpdo也有事务处理了,可以支持自动事务回滚和手工回滚
  首先看自动回滚的事务
  
 
以下是代码片段:

// 获得 EZPDO管理器 
    
$m epManager::instance(); 
      
     
    
$os $m->find("from SomeClass as c where c.var = 'x'"); 
    if (!
$os) { 
      echo 
"no object found\n"
      exit(-
1); 
    } 
      
    
$o $os[0]; 
      
    
//用start_t()开始事务 
    
$m->start_t(); 
      
    
// 改变值了 
    
$o->var 'y'
      
    
// 结束事务提交 
    
$m->commit_t(); // by default: auto-rollback 
      
    
另外是需要用try catch的,手工来回滚 
    
// get the EZPDO manager 
    
$m epManager::instance(); 
      
    
// find an object using EZOQL 
    
$os $m->find("from SomeClass as c where c.var = 'x'"); 
    if (!
$os) { 
      echo 
"no object found\n"
      exit(-
1); 
    } 
      
    
$o $os[0]; 
      
    
// call manager to start transaction 
    
$m->start_t(); 
    try { 
      
      
// change the value of var in object 
      
$o->var 'y'
      
      
// end transaction and save changed objects 
      
$m->commit_t(false); // false: no auto rollback 
      
    

    catch (
Exception $e) { 
      
      
// something wrong. rollback to old values 
      
$m->rollback_t(); 
      
      
// do something here 
      // ...... 
    

      
    
// 'y' if transaction successful; 'x' if failed.  
    
echo $o->var;
  

浏览: 来源:jackyrong 编辑:江江 发布时间:2007-06-08 18:16
Copyright © 2004 www.pclib.com All rights reserved.
Email:yehuo(at)163.com Oicq:35314270 桂ICP备05008870号