コード例 #1
0
ファイル: SiteInstance.php プロジェクト: psesd/sensor-hub
 public function getInfo()
 {
     $info = $this->object->getInfo();
     $collections = $this->collectChildModels();
     $provides = [];
     $references = [];
     $boundIps = [];
     foreach ($collections['service']->getAll() as $serviceObj) {
         if ($serviceObj instanceof Service) {
             $service = $serviceObj;
             $provides[] = $service->descriptor;
         } else {
             $service = Service::get($serviceObj->service_id);
             $provider = Registry::getObject($service->object_id);
             $serviceDescription = $service->descriptor;
             //\d(get_class($serviceObj->dataObject->object));exit;
             if ($serviceObj->dataObject->object instanceof ServiceBinding) {
                 if (!empty($serviceObj->dataObject->object->binding['ip'])) {
                     $boundIps[] = $serviceObj->dataObject->object->binding['ip'];
                 }
                 if (!empty($serviceObj->dataObject->object->binding['hostname'])) {
                     $serviceDescription .= ', ' . $serviceObj->dataObject->object->binding['hostname'];
                 }
             }
             $references[] = $provider->descriptor . ' (' . $serviceDescription . ')';
         }
     }
     if (!empty($references)) {
         $info['Connected Services'] = implode('; ', array_unique($references));
     }
     if (!empty($provides)) {
         $info['Provides Services'] = implode('; ', array_unique($provides));
     }
     if (!empty($boundIps)) {
         $info['IP(s)'] = implode('; ', array_unique($boundIps));
     }
     return $info;
 }
コード例 #2
0
ファイル: ServiceReference.php プロジェクト: psesd/sensor-hub
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getService()
 {
     return Service::get($this->service_id);
 }