background image

不好意思,里面是没有注释的。一个配置文件,一个 py 脚本。基本的功能也就是分析

一下调用的参数,然后调用 PHP Cli,就是那样子而已。要让 py 脚本跑起来请自行安装
python 的 gearman 模块。

然后到 PHP 的部分先上测试代码:

<?php  
require_once 'PHPAsyncClient.php';  
date_default_timezone_set('Asia/Shanghai');   
class AsyncTest {       
const         
     LOG_FILE = '/debug.log';       
     static public function run() {          
     if (PHPAsyncClient::in_callback(__FILE__)) {              
     self::log('php Async callback');              
      PHPAsyncClient::parse();              
      return;          
      }          
  if (PHPAsyncClient::is_main(__FILE__)) {              
 self::log('main run');              
  $async_call=PHPAsyncClient::getInstance();                
   $async_call->AsyncCall('AsyncTest', 'callback', array(                 
   'content' => 'Hello World!!!',              
   ), array(                  
  'class' => 'AsyncTest',                 
   'method' => 'callback',                  
   'params' => array(                      
    'content' => 'Hello Callback!',                  
  ),              
  ), __FILE__);              
   return;          
 }      
 }      
 static public function callback($args) {          
   self::log('AsyncTest callback run');          
   self::log('AsyncTest callback args:'.print_r($args, true));      }       
   static public function log($content) {          
   $fullname = dirname(__FILE__).self::LOG_FILE;          
   $content = date('[Y-m-d H:i:s]').$content."\n";          
   file_put_contents($fullname, $content, FILE_APPEND);      }  }  
   AsyncTest::run(); 
就 3 个静态方法,一个是用于调试的 log 方法,其他都是字面意思。这个例子是对这

种调用方式有个初步印象。然后直接上 PHP 的所有源码: