Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    riferirsi alla classe con una variabile

    salve ragazzi
    ho creato otto classi di nome c1, c2, c3, etc,,, con metodi e proprietà statiche. ognuna di questa classe ha la proprietà 'nome' mi piacerebbe poter scrivere una cosa del genere:

    $nomi_delle_classi = array ('c1','c2',...etc);
    foreach ($nomi_delle_classi as $item)
    {
    echo $item::nome;
    }

    ovvio dire che non funziona...ho provato in molte maniere ma sono arrivato alla triste conclusione che non posso riferirmi a queste classi tramite il nome spero di sbagliarmi,,,avete idee?
    si vivono molte vite e si muore una volta sola

  2. #2
    Ma queste classi le inizializzi?
    Ti viene restituito qualche errore?
    Cmq con le funzioni funziona (scusa il gioco di parole), mi sembra strano non funzioni anche con le classi! Inoltre andrebbe contro ogni logica! Secondo me l'errore sta altrove.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    FAI QUESTA PROVA:

    <?php

    class prova
    {
    static $statprop='ciao';
    }

    $varprova = 'prova';

    echo $varprova::$statprop;

    ?>

    QUESTO E' IL BELLISSIMO ERRORE DAL GUSTO ORIENTALE RESTITUITO:

    Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting ',' or ';' in C:\Programmi\Apache Group\Apache2\htdocs\prova.php on line 10

    si vivono molte vite e si muore una volta sola

  4. #4

    analogamente

    <?php

    class prova
    {
    const cprop='ciao';
    }

    $varprova = 'prova';

    // funziona
    echo prova::cprop;

    // non restituisce niente
    echo $varprova->cprop;

    // da errore
    echo $varprova::cprop;

    ?>
    si vivono molte vite e si muore una volta sola

  5. #5
    up please...
    si vivono molte vite e si muore una volta sola

  6. #6
    hey ragazzi siamo difronte ad un baco secondo me! dite qualcosa...

    anche con le funzioni si puo' giocare con il nome della classe:

    ---------------------------------------------
    function prova($str)
    {
    echo $str;
    }

    $a="prova";
    $a('Così funziona!!!');
    ---------------------------------------------

    e anche con il nome delle classi

    ---------------------------------------------
    class riprova
    {
    function show() { echo "Ciao!"; }
    }

    $a="riprova";
    $mio_oggetto = new $a;
    $mio_oggetto->show();
    ---------------------------------------------

    NON FUNZIONA PERO' CON L'OPERATORE ::

    ---------------------------------------------
    (VEDI SOPRA PER DEGLI ESEMPI)
    si vivono molte vite e si muore una volta sola

  7. #7
    Aspetta! Io avevo parlato di funzioni e da quello che hai scritto con le funzioni (che siano metodi o funzioni semplici!) funziona mentre non funziona con gli operatori.

    Io non credo che per gli operatori sia possibile una cosa del genere!
    E non credo nemmeno sia utile!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    beh l'utilità e' soggettiva.
    nel mio caso devo ciclare dentro un array dove sono scritti i nomi delle classi. e per ognuno di essi devo richiamare un metodo che e' lo stesso per tutti visto che ereditano da una stessa interfaccia.
    si vivono molte vite e si muore una volta sola

  9. #9
    Bha, forse questo articolo fa al caso tuo:

    http://freephp.html.it/articoli/view...olo.asp?id=139

    Crea una serie di classi per validare gli oggetti e i nomi delle classi vengono passati tramite un array ed inizializzati allo stesso tempo. Forse potrebbe esserti utile per prendere spunto! Di più non so dirti!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.