Пример #1
0
 /**
  * Retorna o nome completo do helper.
  *
  * @param string $helper
  * @throws HelperException
  * */
 private static function _namespace($helper)
 {
     $fileHelper = "{$helper}.php";
     foreach (self::$_helperNamespace as $namespace) {
         $filename = self::realpathFromNamespace($namespace) . $fileHelper;
         if (is_file($filename)) {
             return $namespace . $helper;
         }
     }
     HelperException::throwsExceptionIfParamIsNull(FALSE, sprintf(self::T_HELPER_STR_HELPER_UNAVAILABLE, $helper));
     // @codeCoverageIgnoreStart
 }
Пример #2
0
 /**
  * Cria lista selectOptions.
  *
  * <p>
  *   <b>array <i>$dataSource</i></b> referenciando uma lista de string, $metaInfo deverá conter as chaves
  *   dos dados que serão utilizados.
  *
  *   quando informado uma lista de valores em formato string <b>obrigatoriamente</b>
  *   deverá haver as duas entradas informadas pelo param <i>$metaInfo</i>.
  * </p>
  * <p>
  *   <b>ValueObject <i>$dataSource</i></b> referenciado uma lista de ValueObject, $metaInfo deverá conter os nomes
  *   dos métodos acessores.
  * </p>
  * @code
  * <?php
  *   # define lista de array que sera usado para definir o combo
  *   $arrCombo = array(
  *       array('value' => 1, 'text' => 'primeiro valor'),
  *       array('value' => 2, 'text' => 'segundo valor'),
  *       array('value' => 3, 'text' => 'terceiro valor'),
  *   );
  *
  *   comboOptions::comboOptions(
  *       # define a fonte de dados
  *       $arrCombo,
  *
  *       # define as propriedades do texto
  *       array('value', 'text'),
  *
  *       # texto para exibicao na primeira opcao
  *       'seleciona uma opção',
  *
  *       # define qual options ficar selecionado por padrao
  *       1
  *   );
  *
  * ?>
  * @encode
  *
  * @param string[]|valueObject[] $dataSource
  * @param string[value, value] $metaInfo
  * @param string[value, value] $defaultTitle
  * @param mixed $selectedValue
  * @return string
  * @throws HelperException
  * */
 public function comboOptions($dataSource, $metaInfo, $defaultTitle = NULL, $selectedValue = NULL)
 {
     try {
         # lista de options
         $options = array();
         # conteudo dos options quando preenchido por um valueObject[]
         $data = array();
         # verifica se as e
         if (TRUE != is_array($defaultTitle)) {
             $defaultTitle = array('value' => '', 'text' => $defaultTitle);
             $options[] = self::_options($defaultTitle, array('value', 'text'), $selectedValue);
         }
         foreach ($dataSource as $obj) {
             if ($obj instanceof ValueObjectAbstract) {
                 $data['value'] = $obj->{$metaInfo}[0]();
                 $data['text'] = $obj->{$metaInfo}[1]();
                 $options[] = self::_options($data, array('value', 'text'), $selectedValue);
             } else {
                 $options[] = self::_options($obj, $metaInfo, $selectedValue);
             }
         }
         return implode("\n", $options);
     } catch (\Exception $excp) {
         throw HelperException::throwsExceptionIfParamIsNull('', self::HELPER_EXCEPTION);
     }
 }