dubbio su get_object_vars

Diamond

Nuovo Utente
9 Dic 2009
2
0
0
Ciao a tutti!
Ho una domanda da porvi, vi posto dei semplici pezzetti codice:

file -> a.php
PHP:
class a {
	private $num_a;
	private $str_a;
	
	//costruttore e metodi [...]
}

file -> b1.php
PHP:
class b1 {
	private $num_b;
	private $str_b;
	private $vet_obj_a = array(); //array di oggetti a
	
	//costruttore e metodi [...]
}

file -> b2.php
PHP:
class b2 {
	private $num_b;
	private $str_b;
	private $vet_obj_a = array(); //array di oggetti a
	
	//costruttore e metodi [...]
	
	public function getObjectVars() {
		return get_object_vars($this);
	}
}

file -> test.php
PHP:
$obj = new a();
print_r(get_object_vars($obj)); 
//stampa: Array() -> non posso vedere le proprietà private

$obj = new b1();
print_r(get_object_vars($obj));
//stampa: Array() -> non posso vedere le proprietà private

$obj = new b2();
print_r($obj->getObjectVars());
//stampa: Array ( [num_b] => [str_b] => [vet_obj_a] => Array ( ) ) -> in array dovrebberò però anche comparire i parametri di "a" ?

Sapreste rispondere alle domanda citata nei commenti trovai in "test.php"?
Quale sarebbe la soluzione migliore per ottenere un risultato simile a
"Array ( [num_b] => [str_b] => [vet_obj_a] => Array( [num_a] => [str_a] ) )" ? (Magari nella quale vengano anche specificati gli oggetti "a" e "b")

Grazie!!!
 
Ultima modifica:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Sicuramente devono comparire anche gli elementi contenuti nella variabile della classe. Dopotutto get_object_vars restituisce i valori, quindi immagino che non stia a controllare se una variabile è un array o meno. Ma perché questa domanda? A te non funziona?
 

Diamond

Nuovo Utente
9 Dic 2009
2
0
0
Io ho creato una funzione "stampaParametri", ma non funziona come dovrebbe.
Potresti dare un occhiata al codice e darmi qualche dritta o dirmi dove sta l'errore?
(O forse si potrebbe scrivere questa funzione in maniera più semplice?)

PHP:
class a {
	private $num_a = 3;
	private $str_a = "ciao_mondo";
	
	function __construct() {}
	
	public function getVars() {
		return get_object_vars($this);
	}
}


class b {
	private $num_b = 5;
	private $str_b = "hello_world";
	private $vet_obj_a = array(); //array di oggetti a
	private $vet_b = array(0=>1, 1=>2, 2=>3);
	
	function __construct() {
		$a = new a(); 
		$this->vet_obj_a[] = $a;
	}
	
	public function getVars() {
		return get_object_vars($this);
	}
	
	
	public static function stampaParametri($v = array(), $html) {
		
		if( count($v) == 0 ) return $html;

		foreach($v as $name => $value) {
			
			if( is_array($value) ) {
				return b::stampaParametri($value, $html);
			}
			
			else if( is_object($value) ) {
				$html .= "<br />" . get_class($value) . "<br />";
				$parametri = $value->GetVars();
				return b::stampaParametri($parametri, $html);
			}
			
			else {
				$html .= $name . " -> " . $value . "<br />";
			}
		}
		return $html;
	}
	
}

//test
$b1 = new b();
$b2 = new b();
$test = array($b1, $b2);
print_r( b::stampaParametri($test, "") );

/* QUESTO E' QUELLO CHE OTTENGO:
b
num_b -> 5
str_b -> hello_world

a
num_a -> 3
str_a -> ciao_mondo

MA IN "b" DOVREBBE ANCHE STAMPARMI "vet_b", perchè non lo stampa?
ci deve essere un errore in "stampaParametri".... ? ? ?
*/
 
Discussioni simili
Autore Titolo Forum Risposte Data
E DUBBIO da principiante IP Cam e Videosorveglianza 0
D Dubbio intestazione dominio Domini 0
J Un piccolo dubbio su Mailchimp Posta Elettronica 1
S Dubbio su Git Programmazione 0
Z PayPal dubbio PHP 0
S Dubbio sulla desaturazione parziale in photoshop Photoshop 0
T Dubbio su costante ROOT, che rappresenti la base directory del sito PHP 4
stefanomessina [MySQL] Dubbio sulle PROCEDURE MySQL 0
G Cambio server dubbio ns Server Dedicati e VPS 3
M [PHP] Dubbio controllo IF PHP 15
paloppa [PHP] Dubbio print variabile PHP 27
paloppa [PHP] Dubbio valore variabile PHP 16
paloppa [PHP] Invio mail da form dubbio PHP 17
B Dubbio compressione gzip su server di giga.it Hosting 1
federicofacchini Aiutatemi con questo dubbio sui video YouTube e Facebook Social Media Marketing 1
asevenx [PHP] Dubbio teorico sui metodi e costruttore OOP PHP 1
otto9due [PHP] Dubbio esistenzaile: Regex email e stampa valori trovati.. PHP 5
P dubbio concettuale progettazione database MySQL 3
M Dubbio su risoluzione immagini Tumblr via Flickr HTML e CSS 6
D Dubbio per creare un sito in php PHP 9
C Dubbio creazione oggetti Javascript 1
F Dubbio su una funzione personalizzata PHP 3
V Installazione pulita windows 8 su notebook: dubbio partizioni Windows e Software 1
L Dubbio Array PHP 1
felino [C#] String format: qualche dubbio! C/C++ 1
felino [Jquery] Dubbio sul tag meta refresh aggiunto dinamicamente jQuery 6
R dubbio su sito Discussioni Varie 2
Emix Dubbio e problema su query con operatore LIKE PHP 56
P Gestione bottini+ dubbio atroce PHP 9
borgo italia dubbio Discussioni Varie 0
P Dubbio su come inserire date e year in phpmyadmin PHP 5
P Dubbio su indirizzi ip Adsl e Connettività 6
S Dubbio front controller PHP 0
A dubbio enctype="multipart/form-data" HTML e CSS 1
borgo italia dubbio sul require/include PHP 2
A Dubbio su return funzione PHP 3
X dubbio licenza template Joomla 0
dahype dubbio sulla progettazione del DB Database 0
borgo italia dubbio sull'invio di allegati da form PHP 1
Roland Dubbio indicizzazione da google SEO e Posizionamento 2
I Grosso dubbio per sito browser game - giochi online SEO e Posizionamento 1
casaoncase dubbio aggregatori feed SEO e Posizionamento 0
emanuelevt Piccolo Dubbio HTML e CSS 2
S [OOP + transazioni] Dubbio implementativo PHP 2
neo996sps Dubbio su PHP e scrittura query PHP 2
F dubbio autenticazione windows reti lan Reti LAN e Wireless 4
W dubbio mia rete lan wireless Reti LAN e Wireless 11
P Dubbio su web 3.0 HTML e CSS 1
R dubbio su prezzi pubblicità Discussioni Varie 5
L dubbio compressione bmp Flash 1

Discussioni simili