Ciao,
ciclicamente ho sto maledetto errore con OOP e PHP5: sviluppo delle parti, le testo, non mi viene restituito nessun output per via di qualche errore e ho pagina bianca...
premesso che gli errori dovrebbero saltare fuori perchè in tutte le pagine metto
error_reporting(1024);
di fatto non succede nulla
il pezzo di codice incriminato, questa volta, è questo:
Codice PHP:
$query = $this->db_query("SELECT id FROM thebox_rates_release WHERE rate = '".$this->rateId."'");
while ($result = mysql_fetch_assoc($query))
{
$this->releasePeriods[] = new RateReleasePeriod($result["id"],$this->rateId);
}
fino alla riga prima di istanziare l'oggetto tutto funziona, tant'è vero che se metto di stampare "ciao" me lo stampa...
se provo però a mettere un print "ciao" all'inizio del costruttore dell'oggetto incriminato, non stampa nulla, però allo stesso tempo non mi viene restituito nessun errore
come procedo? premetto anche che sto sviluppando con zend development environment che non mi segnala nessun errore di sintassi o quant'altro...ultimamente ho avuto qualche cosa di simile ma semplicemente tentato di accedere ad un metodo di un oggetto in una cella di array vuota qui invece devo ancora istanziare l'oggetto (che riporto qui di seguito)
Codice PHP:
error_reporting(2048);
ini_set("zend.ze1_compatibility_mode",0);
include_once("/var/www/library/mysql.class.php5");
class RateReleasePeriod extends mysql
{
private $periodId = 0;
private $rateId = 0;
private $periodType = "REL";
private $periodStart;
private $periodEnd;
private $priorReleaseFrom = 0;
private $priorReleaseTo = 0;
public function __construct($periodId,$rateId)
{
parent::__construct();
$this->periodId = $periodId;
$this->rateId = $rateId;
$this->retrieveData();
}
public function retrieveData()
{
$result = mysql_fetch_assoc($this->db_query("SELECT * FROM thebox_rates_release WHERE id = '".$this->periodId."' AND rate = '".$this->rateId."'"));
$this->periodType = $result["type"];
$this->periodStart = $this->normalizeDate($result["start"]);
$this->periodEnd = $this->normalizeDate($result["end"]);
$this->priorReleaseFrom = $result["from"];
$this->priorReleaseTo = $result["to"];
}
public function isInPeriod($date)
{
$date = $this->normalizeDate($date);
if ($date >= $this->periodStart && $date <= $this->periodEnd)
return true;
else
return false;
}
public function normalizeDate($date)
{
if ($this->periodType == "ABS")
return ((int)substr(str_replace("-","",$date),4));
else
return ((int) str_replace("-","",$date));
}
}