Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682

    proprieta di classe "dinamiche"

    Ciao,

    Scusate il titolo poco adatto ma non sapevo come altro scriverlo.

    Mi domandavo se in php si può fare una cosa del genere: faccio un esempio in actionscript

    Codice PHP:

    class Persona
    {
        private var 
    nome:String;
        private var 
    cognome:String;
        private var 
    eta:String;

       function 
    Persona() {}

       public function 
    setProp(obj:Object)
       {
            
    // obj = {nome:"Pippo", cognome:"ciccio", eta:26}
           
    for(var prop in obj)
           {
               
    this[prop] = obj[prop]
           }
       }

    Potrebbe essere utile se ad esempio si volessero mappare dei valori da database su determinati oggetti PHP.

    Ho provato a leggere e fare alcuni tentativi ma senza successo.

    Qualche suggerimento ?
    IACO

  2. #2

  3. #3
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Ciao,

    grazie per le indicazioni.

    Interessante get_object_vars per recuperare le variabili di classe.

    Ma si può anche settarle ? Leggendo i link da te segnalati non ho capito come.

    Ho fatto un esempio che chiaramente è errato. Puoi darmi qualche suggerimento in più ?

    Codice PHP:
    <?php


    class Persona
    {
        public 
    $nome;
        public 
    $cognome;
        public 
    $eta;
        
        function 
    Persona()
        {
            
        }
        
        public function 
    setProp($arr)
        {
            foreach(
    $arr as $key=>$value)
            {
                
    $this[$key] = $value;
            }
        }
    }

    $arr = array("nome" => "Mario""cognome" => "Rossi""eta" => 26 );

    $p = new Persona();
    $p->setProp($arr);

    var_dump(get_object_vars($p));

    ?>
    IACO

  4. #4
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Ciao,

    era più semplice del previsto

    Sbagliavo cercando di accedere alla proprieta cosi $this->[$key], piuttosto che così $this->$key.

    Ciao
    IACO

  5. #5
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Originariamente inviato da filippo.toso
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/get_object_vars
    http://www.php.net/manual/en/languag...verloading.php
    Davvero interessante anche l'utilizzo di __set, __get, __isset per creare e gestire membri dinamicamente.

    Con queste cose mescolate insieme si possono fare davvero cose mooolto carine.

    Grazie per le dritte
    IACO

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.