public static function obterPropriedadeDaLinha($linha, $secao)
 {
     $propriedade = new ConfiguracaoPropriedade();
     $posicao = strpos($linha, '=');
     $propriedade->setSecao($secao);
     $propriedade->setNome(trim(substr($linha, 0, $posicao)));
     $propriedade->setValor(trim(substr($linha, $posicao + 1)));
     if (in_array(strtolower($propriedade->getValor()), ['true', 'false'])) {
         $propriedade->setValor(strtolower($propriedade->getValor()) === 'true');
     } else {
         if (is_numeric($propriedade->getValor())) {
             $propriedade->setValor($propriedade->getValor() + 0);
         }
     }
     return $propriedade;
 }
Esempio n. 2
0
 /**
  * Define um valor para a propriedade.
  * 
  * @param string $nome
  * @param object $valor
  * @throws Exception
  */
 public function set($nome, $valor)
 {
     if (is_null($nome)) {
         throw new Exception('O nome da propriedade precisa ser fornecido.');
     }
     // Caso haja ponto de seção. Ex.: secao.propriedade
     $secao = null;
     if (strpos($nome, '.')) {
         $tmp = explode('.', $nome);
         $secao = $tmp[0];
         $nome = $tmp[1];
     }
     if (!$this->definirEmPropriedadeExistente($nome, $valor, $secao)) {
         // Do contrário, a propriedade não existe
         $propriedade = new ConfiguracaoPropriedade();
         $propriedade->setSecao($secao);
         $propriedade->setNome($nome);
         $propriedade->setValor($valor);
         $this->_propriedades[] = $propriedade;
     }
 }