快速业务通道

PHP 中的批处理

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
nbsp;                {                        $item[''function''] = trim(fgets( $fh ));                        $item[''args''] = array();                        while( ( $line = fgets( $fh ) ) != null )                        {                            $args = split( '':'', trim($line) );                            $item[''args''][$args[0]] = $args[1];                        }                        $rows []= $item;                        fclose( $fh );                    }                }            }            closedir($dh);        }    }    return $rows;  }}?>
 


BatchFiles 类有三个主要方法:add()、get_all() 和 delete()。这个类不访问数据库,而是读写 batch_items 目录中的文件。

使用以下测试代码添加新的批处理条目。


清单 10. batch_by_file_test_add.php
    <?phprequire_once ''batch_by_file.php'';BatchFiles::add( "printvalue", array( ''value'' => ''foo'' ) );?>
 


有一点需要注意:除了类名(BatchFiles)之外,实际上没有任何迹象能够说明作业是如何存储的。所以,以后很容易将它改为数据库风格的存储方式,而不需要修改接口。

最后是处理程序的代码。


清单 11. batch_by_file_processor.php
    <?phprequire_once ''batch_by_file.php'';function printvalue( $args ) {  echo ''Printing: ''.$args[''value'']."\n";}foreach( BatchFiles::get_all() as $item ) {  call_user_func_array( $item[''function''], array( $item[''args''] ) );  BatchFiles::delete( $item[''id''] );}?>
 


这段代码几乎与数据库版本完全相同,只是修改了文件名

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号