Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: __callStatic

  1. #1

    __callStatic

    Posto una parte di codice della guida di html.it

    Codice PHP:
    class MyClass{

    public function 
    __callStatic($name$args) {
                    echo 
    "È stato richiamato il metodo " $name " in un contesto statico con i seguenti argomenti: ";
                    foreach(
    $args as $arg) echo $arg " ";
            }
    }

    MyClass::setName("George"); 
    Ed ecco l'errore: Call to undefined method MyClass::setName()

    Come si risolve?

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    manca un pezzo della class
    Codice PHP:
    class MyClass{

    public function 
    __callStatic($name$args) {
                    echo 
    "È stato richiamato il metodo " $name " in un contesto statico con i seguenti argomenti: ";
                    foreach(
    $args as $arg) echo $arg " ";
            }

    public static 
    setName($nome){
    //metodo che manca e quindi genera l'errore
    }

    }

    MyClass::setName("George"); 

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Ok, grazie!

    (La guida è da sistemare: http://php.html.it/guide/lezione/424...i-prima-parte/)

  4. #4
    attenzione che __callStatic è stato aggiunto solo a partire da PHP 5.3.0, quindi se lo usi su una versione precedente alla 5.3 e non dichiari il metodo statico setName() ti viene restituito l'errore

  5. #5
    (infatti la guida giustamente lo indica e lo evidenzia)

  6. #6
    Ah ok... comunque evidenzia il numero della versione. Per chi sta imparando, magari, è difficile capire che deve aggiungere qualcosa con la versione inferiore

  7. #7
    Originariamente inviato da moneta173
    Ah ok... comunque evidenzia il numero della versione. Per chi sta imparando, magari, è difficile capire che deve aggiungere qualcosa con la versione inferiore

    questo perchè chi sta imparando si fida ciecamente delle guide e non prova neanche alla lontana a prendere il manuale di php e informarsi sul metodo che si sta utilizzando:

    http://www.php.net/manual/en/languag...verloading.php
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Io provo e per questo ho trovato l'errore... studio la teoria e provo a scrivere il codice senza riguardarla. Visto che non funzionava ho chiesto a voi (avrei potuto anche cercare sul manuale)

  9. #9
    Originariamente inviato da moneta173
    (avrei potuto anche cercare sul manuale)
    appunto quello che dicevo io.. se uno non vuole pendere dalle labbra (o dalle dita in questo caso) degli altri, è meglio che si abitui fin da subito ad utilizzare il manuale il più possibile prima di porre la domanda, perchè altrimenti per ogni minima cosa uno si abitua a non cercare sul manuale, non ci prende dimestichezza, e poi si è costretti a cercare 3D improbabili su google o a chiedere sui forum, perdendo un sacco di tempo...e il tempo è denaro
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Si si, su questo hai ragione

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 © 2026 vBulletin Solutions, Inc. All rights reserved.