* @throws \Exception * @return void */ protected function includeFile() { // 载入该服务下的所有文件 $service_dir = ThriftClient::getServiceDir($this->serviceName); foreach (glob($service_dir . '/*.php') as $php_file) { require_once $php_file; } return $service_dir; } } /***********以下是测试代码***********/ if (PHP_SAPI == 'cli' && isset($argv[0]) && $argv[0] == basename(__FILE__)) { ThriftClient::config(array('HelloWorld' => array('addresses' => array('127.0.0.1:9090'), 'thrift_protocol' => 'TBinaryProtocol', 'thrift_transport' => 'TBufferedTransport', 'service_dir' => __DIR__ . '/../Services/'), 'UserInfo' => array('addresses' => array('127.0.0.1:9090')))); $client = ThriftClient::instance('HelloWorld'); // 同步 echo "sync send and recv sayHello(\"TOM\")\n"; var_export($client->sayHello("TOM")); // 异步 echo "\nasync send request asend_sayHello(\"JERRY\") asend_sayHello(\"KID\")\n"; $client->asend_sayHello("JERRY"); $client->asend_sayHello("KID"); // 这里是其它业务逻辑 echo "sleep 1 second now\n"; sleep(1); echo "\nasync recv response arecv_sayHello(\"KID\") arecv_sayHello(\"JERRY\")\n"; var_export($client->arecv_sayHello("KID")); var_export($client->arecv_sayHello("JERRY")); echo "\n";