GARANTIR DESCONTO

Fórum Proble com Código Fonte #571147

17/11/2016

0

Classe TCriteria.class.php
<?php
/*
* Classe TCriteria
* Essa Classe Provê uma Interface Ultilizada para uma Definição de Critérios
*/
class TCriteria extends TExpression{
private $expressions; // Armazena a Lista de Expressões
private $operators; // Armazena a Lista de Operadores
private $properties; // Propriedades do Critério

/*
* Método add()
* Adciona uma Expressão ao Critério
* @param expression = expressão (Objeto TExpression)
* @param $operator = Operador Lógico de Comparação
*/
public function add(TExpression $expression, $operator = self::AND_OPERATOR){
//Na Primeira Vez, Não Precisamos de Operador Lógico para Concatenar
if(empty($this->expressions)){
unset($operator);
}
//Agrega o Resultado da Expressão à Lista de Expressões
$this->expressions[] = $expression;
$this->operators[] = $operator;
}

/*
* Método dump()
* Retorna a Expressão Final
*/
public function dump(){
//Concatena a Lista de Expressões
if(is_array($this->expressions)){
foreach($this->expressions as $i=> $expression){
$operator = $this->operators[$i];
//Concatena o Operador com A respectiva Expressao
$result .= $operator. $expression->dump() . ' ';
}
$result = trim($result);
return "({$result})";
}
}

/*
* Método setProperty()
* Define o Valor de uma Propriedade
* @param $property = Propriedade
* @param $value = Valor
*/
public function setProperty($property, $value){
$this->properties[$property] = $value;
}

/*
* Método getProperty()
* Retorna o Valor de uma Propriedade
* @param $property = Propriedade
*/
public function getProperty($property){
return $this->properties[$property];
}
}

Programa de Uso da Classe
Criteria.php
<?php

include_once './APP.ADO/TExpression.class.php';
include_once './APP.ADO/TCriteria.class.php';
include_once './APP.ADO/TFilter.class.php';

//Aqui vemos um exemplo de Critério Ultilizando o Operador Lógico OR
//A Idade deve ser Menor que 16 e Maior que 60
$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>\\n";



eu criei essa classe e ta dando esse erro

( ! ) Notice: Undefined variable: operator in C:\\wamp\\www\\aulaphp\\APP.ADO\\TCriteria.class.php on line 24
Call Stack
# Time Memory Function Location
1 0.0017 135024 ( ) ..\\criteria.php:0
2 0.0058 150600 TCriteria->add( ) ..\\criteria.php:10

( ! ) Notice: Undefined variable: result in C:\\wamp\\www\\aulaphp\\APP.ADO\\TCriteria.class.php on line 37
Call Stack
# Time Memory Function Location
1 0.0017 135024 ( ) ..\\criteria.php:0
2 0.0109 151384 TCriteria->dump( ) ..\\criteria.php:12
(idade < 16 ORidade > 60)


As Outras Classes eu ja Criei.....
Luan Campos

Luan Campos

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar