當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Constraint::getStorageApi方法代碼示例

本文整理匯總了PHP中Symfony\Component\Validator\Constraint::getStorageApi方法的典型用法代碼示例。如果您正苦於以下問題:PHP Constraint::getStorageApi方法的具體用法?PHP Constraint::getStorageApi怎麽用?PHP Constraint::getStorageApi使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\Validator\Constraint的用法示例。


在下文中一共展示了Constraint::getStorageApi方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: validate

 public function validate($value, Constraint $constraint)
 {
     if (!$constraint instanceof OrchestrationTableEntity) {
         throw new \InvalidArgumentException('Given constraint must ne instance of OrchestrationTableEntity class');
     }
     if ($value) {
         // table exists
         try {
             /** @var StorageApi $storageApi */
             $storageApi = $constraint->getStorageApi();
             if (!$storageApi->tableExists($value)) {
                 throw new \Exception('Configuration table does not exists');
             }
         } catch (\Exception $e) {
             $this->context->addViolation($constraint->message, array('%string%' => $value));
             return;
         }
         // table structure
         try {
             /** @var StorageApi $storageApi */
             $storageApi = $constraint->getStorageApi();
             $table = $storageApi->getTable($value);
             $token = new Token($storageApi);
             $requiredColumns = self::getRequiredColumns();
             $missingColumns = array_diff($requiredColumns, $table['columns']);
             if (!empty($missingColumns)) {
                 throw new \Exception('Invalid configuration table structure');
             }
         } catch (\Exception $e) {
             $this->context->addViolation($constraint->structureMessage, array('%string%' => implode(', ', $requiredColumns)));
             return;
         }
     }
 }
開發者ID:keboola,項目名稱:orchestrator-bundle,代碼行數:34,代碼來源:OrchestrationTableEntityValidator.php

示例2: validate

 public function validate($value, Constraint $constraint)
 {
     if (!$constraint instanceof TokenEntity) {
         throw new \InvalidArgumentException('Given constraint must ne instance of TokenEntity class');
     }
     if ($value) {
         $configValidation = false;
         try {
             /** @var StorageApi $storageApi */
             $storageApi = $constraint->getStorageApi();
             $token = $storageApi->getToken($value);
             if (!$token) {
                 throw new \Exception('Token does not exists');
             }
             $userToken = new Token($storageApi);
             $configValidation = true;
             $components = new Components(new StorageApi(array('token' => $token['token'], 'url' => $storageApi->getApiUrl(), 'userAgent' => $storageApi->getUserAgent())));
             $components->listComponents(new ListConfigurationsOptions());
         } catch (\Exception $e) {
             if ($e instanceof \Keboola\StorageApi\ClientException && $e->getCode() === 403) {
                 //@FIXME jak zmenit api exception code
                 if ($configValidation) {
                     $this->context->addViolation($constraint->configMessage, array('%string%' => $value), null, null, 'TOKEN_PERMISSION');
                 } else {
                     $this->context->addViolation($constraint->permissionsMessage, array(), null, null, 'TOKEN_PERMISSION');
                 }
             } else {
                 $this->context->addViolation($constraint->message, array('%string%' => $value));
             }
             return;
         }
         //@FIXME doplnit validaci na master token!!!
     }
 }
開發者ID:keboola,項目名稱:orchestrator-bundle,代碼行數:34,代碼來源:TokenEntityValidator.php


注:本文中的Symfony\Component\Validator\Constraint::getStorageApi方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。