nelioats 0 Denunciar post Postado Junho 25, 2015 Pessoal boa noite, Comecei a estudar pelo livro do Pablo Dall' Oglio porem ao chegar no cap referente a Query Object, onde existe as seguintes classes: <?php abstract class TExpression{ const AND_OPERATOR = 'AND '; const OR_OPERATOR = 'OR '; abstract public function dump(); } <?php class TCriteria extends TExpression { private $expressions; //armazena a lista de expressoes private $operators; //armazena a lista de operadores private $properties;//propriedades do criterio public function add(TExpression $expression, $operator = self::AND_OPERATOR){ if(empty($this->expressions)){ unset($operator); } $this->expressions[] = $expression; $this->operators[] = $operator; } public function dump(){ if(is_array($this->expressions)){ foreach($this->expressions as $i=> $expression){ $operator = $this->operators[$i]; $result .= $operator. $expression->dump().' '; } $result = trim($result); //metodo trim retira espaco no inicio e final de uma string return "({$result})"; } } public function setProperty($property, $value){ $this->properties[$property] = $value; } public function getProperty($property){ return $this->properties[$property]; } } ?> <?php function __autoload($classe){ include_once "app.ado/$classe.class.php"; } $criteria = new TCriteria; $criteria->add(new TFilter('idade','<',16),TExpression::OR_OPERATOR); $criteria->add(new TFilter('idade','>',60),TExpression::OR_OPERATOR); echo $criteria->dump(); echo '<br>'; $criteria1 = new TCriteria; $criteria1->add(new TFilter('idade','IN',array(24,25,26))); $criteria1->add(new TFilter('idade','NOT IN',array(10))); echo $criteria1->dump(); echo '<br>'; ?> Acontece o seguinte erro: Notice: Undefined variable: operator in C:\wamp\www\php\PDO Query Objects\app.ado\TCriteria.class.php on line 21 Notice: Undefined variable: result in C:\wamp\www\php\PDO Query Objects\app.ado\TCriteria.class.php on line 36 Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites