You are here

public function Php5ClientGenerator::generate in Kaltura 6.2

Same name and namespace in other branches
  1. 7.3 kaltura_client/Php5ClientGenerator.php \Php5ClientGenerator::generate()
  2. 7.2 kaltura_client/Php5ClientGenerator.php \Php5ClientGenerator::generate()

File

kaltura_client/Php5ClientGenerator.php, line 4

Class

Php5ClientGenerator

Code

public function generate() {
  $this
    ->writeHeader();
  $this
    ->writeBeforeTypes();

  // types
  foreach ($this->_types as $typeReflector) {
    $this
      ->writeType($typeReflector);
  }
  $this
    ->writeAfterTypes();

  // services
  foreach ($this->_services as $serviceReflector) {
    $this
      ->writeBeforeService($serviceReflector);
    $serviceName = $serviceReflector
      ->getServiceName();
    $actions = $serviceReflector
      ->getActions();
    $actions = array_keys($actions);
    foreach ($actions as $action) {
      $actionInfo = $serviceReflector
        ->getActionInfo($action);
      if (strpos($actionInfo->clientgenerator, "ignore") !== false) {
        continue;
      }
      $outputTypeReflector = $serviceReflector
        ->getActionOutputType($action);
      $actionParams = $serviceReflector
        ->getActionParams($action);
      $this
        ->writeServiceAction($serviceName, $action, $actionParams, $outputTypeReflector);
    }
    $this
      ->writeAfterService($serviceReflector);
  }
  $this
    ->writeMainClassDeclaration();
  foreach ($this->_services as $serviceReflector) {
    $this
      ->writeMainClassServiceDeclaration($serviceReflector);
  }
  $this
    ->writeMainClassConstructorDeclaration();
  foreach ($this->_services as $serviceReflector) {
    $this
      ->writeMainClassServiceInitialization($serviceReflector);
  }
  $this
    ->writeMainClassConstructorClosure();
  $this
    ->writeMainClassClosure();
  $this
    ->writeFooter();
}