|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
[PHP] Problema con classi
Ciao a tutti.
Ho un problema con le classi di php. Io ho una classe: Codice:
<?php
require_once "errormanager.php";
class Querier {
private $conn;
private $db;
function __construct($db = 'xvb') {
$this->db = $db;
$this->connect();
}
private function connect() {
$this->conn = @mysql_connect('localhost', 'lacascinarossa', 'admin');
@mysql_select_db($this->db , $this->conn);
}
function isconnected() { return @mysql_ping($this->conn); }
function doquery($query) { return @mysql_query($query, $this->conn); }
}
?>
Codice:
<?php
require_once "querier.php";
require_once "errormanager.php";
class PhotosManager {
private $querier;
function __construct() { $this->querier = new Querier(); }
function __destruct() { $this->querier->__destruct(); }
function insert($rawimage) {
if(is_uploaded_file($rawimage['tmp_name'])) {
$imageinfo = getimagesize($rawimage['tmp_name']);
if($imageinfo[0] > 400 || $imageinfo[1] > 400) resize();
if($imageinfo['mime'] != "image/png") convert();
$imagedata = addslashes(file_get_contents($rawimage['tmp_name']));
$imagethumb = $this->createthumb($imagedata);
$querier->doquery("INSERT INTO images (ID, thumb, data, type, size) VALUES('', '{$imagethumb}', '{$imagedata}',
'{$imageinfo['mime']}', '{$imageinfo[3]}'");
} else {
print "File non specificato";
}
}
... continua
Mi viene fuori l'errore: Codice:
Debug Error: /photosmanager.php line 19 - Call to a member function doquery() on a non-object Non capisco cosa possa essere, a volte lo fa anche con altre classi, altre volte non lo fa. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
Vieni da Java o da c++ vero?
In php (purtroppo) non puoi omettere il $this quando accedi a membri della classe, quindi per riferirti all'oggetto Querier devi utilizzare la sintassi $this->querier |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 579
|
Quote:
Ho messo il $this ma comunque nel distruttore della classe PhotosManager mi da comunque errore dicendo che querier non è una classe valida. Non è che me lo dice semplicemente perchè nella classe Querier non ho esplicitato il distruttore? Fammi un po' prova'. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:47.




















