Array di Oggetti

ziuccio

Nuovo Utente
28 Giu 2010
8
0
0
Ciao a tutti.

Mi servirebbe un piccolo aiuto per fare una cosa che in Java veniva...ma in PHP mi da dei problemi.

Allora:
Creo una classe che mi definisce un oggetto
PHP:
class oggetto1{
  var proprieta;
  function getProprieta...
  function setProprieta...
}

In un altra classe mi occupo di recuperare i valori dal DB

PHP:
class showListDocuments {
	var $allDocuments = array ();

	function getDB() {...}
	function listDocuments() {
		$documents = $db->selectQuery($database, "daily_doc", array (), $condition); //
		$allDocuments= showListDocuments::setAllDocuments($documents);
		for($i=0;$i<count($allDocuments); $i++){
				 
				 $obj1  = new oggetto1();
				 $obj1  ->setProprieta(,$allDocuments[$i]['dbField']));
				 $allDocuments[$i]= $obj1;
		}
		
	}
	
	function getAllDocuments(){
		return $this->allDocuments;
	}

	public function setAllDocuments($val) {
		logger::logToFile("Settaggio allDocuments ".$val);
		$this->allDocuments = $val;
	}

poi nella pagina html

PHP:
<?php
	include_once("util/classes/showListDocuments.class.php");
	$documents = new showListDocuments();
	$documents->listDocuments();
	$alldocuments = $documents->getAllDocuments();
?>
<body>
			<?php

			for($i=0; $i<count($alldocuments);$i++){
			        $obj1 = new oggetto1();
				$obj1= $alldocuments[$i];
                                 echo obj1->getProprieta();
			}
			?>
</body>

Esattamente qui
PHP:
 $obj1= $alldocuments[$i];
pare che obj1 perda la sua quaita` di oggetto e di conseguenza nn riesco a utilizzare il metodo get.

Fatal error: Call to a member function getProprieta() on a non-object in C:\xampp\htdocs\project\file.php on line 49

Mi sapete aiutare?
Grazie!!!
 
Ultima modifica:

lespaul

Utente Attivo
30 Lug 2009
91
6
0
www.simplesoft.it
Nella classe showListDocuments devi usare il $this-> quando assegni l'oggetto all'array della classe:
PHP:
 for($i=0;$i<count($allDocuments); $i++){
                 
                 $obj1  = new oggetto1();
                 $obj1  ->setProprieta(,$allDocuments[$i]['dbField']));
                 $this->allDocuments[$i]= $obj1;//Qua penso sia l'errore
        }
Atrimenti lo riassegni alla variabile di metodo che ha lo stesso nome. Se vuoi un consiglio per le variabili cerca di utilizzare nomi un po differenti altrimenti il codice è di difficile lettura
 

ziuccio

Nuovo Utente
28 Giu 2010
8
0
0
mhhh...
purtroppo non va ancora
Il problema penso sia qui. nella pagina html:
PHP:
$obj1 = new oggetto1(); // in questa riga $obj1 e` di tipo oggetto1
$obj1= $alldocuments[$i]; // qui $obj1 e` un array...non e` piu un istanza di oggetto1

Con la tua modifica l`errore rimane.

I nomi delle variabili le ho messe un po` cosi qui nel post...in genere mi attengo agli standard.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Scusa, ma non capisco per quale motivo in questa riga richiami il metodo in modo statico:
PHP:
$allDocuments= showListDocuments::setAllDocuments($documents);
Prova a chiamarlo utilizzando $this, così:
PHP:
$allDocuments= $this->setAllDocuments($documents);
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Cambia che se richiami un metodo in modo statico esso non può più riferirsi alle variabili dell'istanza, perché per lui non esiste nessuna istanza. È come se lo richiamassi da semplice funzione. Quindi la variabile non viene popolata correttamente.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Ciclare tra array di oggetti PHP 1
L come visualizzare array di oggetti php PHP 9
M Ottenere i valori di una proprietà su un array di oggetti (es. DIV) in JavaScript Javascript 7
ggt90 Esercizio javascript sugli array di oggetti Javascript 0
L Flash AS3: popolare array di oggetti presenti in libreria Flash 0
otto9due Leggere valore da array multidimensionale a chiavi dinamiche PHP 1
M Passaggio variabili array php su un tasto jq PHP 3
M Somma inversa di Array C/C++ 2
MarcoGrazia Iterazione array PHP 5
N Passare array da php a javascript PHP 5
G Ordinare un array multidimensionale PHP 4
H Errore su array associativo PHP 1
K Array senza ripetizioni Presentati al Forum 4
A Gestione array multidimensionale PHP 6
otto9due Più chiavi in array con array_key_exists() PHP 0
M Array associativi php su 2 campi mysql PHP 10
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L Sessione e array per utenti PHP 0
R Importazione csv su mysql tramite array PHP 2
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
R Raggruppare valori array PHP 5
S Come conoscere la posizione di numeri in un array escludendo i doppioni PHP 4
D Popolare array PHP 8
R Includere elementi array fra apici PHP 1
P Array da foreach PHP 2
N Variabile di sessione è un array PHP7 PHP 3
R Scorporare array e recuperare record tabella PHP 10
A Contare gli elementi di un array PHP 13
A Importare array in mysql PHP 1
A Array di immagini Sviluppo app per Android 10
D Chiave unica in estrazione dati da array php PHP 0
D Spazio vuoto in un elemento di un array php PHP 2
S Come filtrare valori di un array PHP 4
mazman mysqli_query() mi ritorna un array vuoto anche se presente un record nella tabella PHP 13
A Non è un array e nemmeno un intero, che tipo di dato è? Javascript 1
max1974 PHP, Array Multidimensionale e Grafici PHP 22
S [PHP] Confrontare due array con valori quasi uguali PHP 2
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R [PHP] Visualizzazione dati Array PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
M Importare - Manipolare Json Array Sviluppo app per Android 2
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
G [ASP] Ciclare i valori di 2 array Classic ASP 2
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
max1974 [PHP] Raggruppare array PHP 4
A [PHP] Caricamento database in array PHP 11
G sql select con array in php PHP 1

Discussioni simili