Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Query Object - Livro do Pablo Dall' Oglio - TCriteria erro de vari

$
0
0

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.
 
 

Viewing all articles
Browse latest Browse all 14190