Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-03-2010, 17:37   #1
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
[PHP] Metodi magici...aiuto...temo di non aver capito qualcosa

Ciao,
stavo leggendo la guida di HTML.it relativa a PHP OO...e sono arrivato a leggere questo capitolo: http://php.html.it/guide/lezione/424...i-prima-parte/

Praticamente da quello che ho capito i metodi magici sono dei metodi che vengono invocati automaticamente dal sistema quando accade una particolare situazione nella classe o negli oggetti della classe...ok...fin quì ci stò credo...

Nell'esempio che mi crea problemi si fà riferimento ai seguneti metodi magici:

1) __call: viene richiamato automaticamente quando viene richiciamato un metodo inaccessibile nel contesto di un oggetto.

2) __callStatic: viene richiamato automaticamente quando viene richiciamato un metodo inaccessibile nel contesto della classe (un metodo di classe ad esempio)

Questo è il codice che mi crea problemi:

Codice:
<?php

class MyClass{

    /* Metodo magico che quando viene invocato un metodo inaccessibile nel
     * contesto dell'oggetto mostra il nome del metodo inaccessibile invocato e
     * la lista dei suoi argomenti */
    public function __call($name, $args){
        echo "È stato richiamato il metodo " . $name . " con i seguenti argomenti: ";
        foreach($args as $arg) echo $arg . " ";
    }

    /* Metodo magico che quando viene invocato un metodo inaccessibile nel
     * contesto statico  mostra il nome del metodo inaccessibile invocato e
     * la lista dei suoi argomenti */
    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 . " ";
    }

}

$obj1 = new MyClass();  // Creo un nuovo oggetto istanza di MyClass

// Provo ad invocare su tale oggetto un metodo inaccessibile (non è definito nella classe)
$obj1-->setName("George");

// Provo ad invocare su tale classe un metodo statico inaccessibile (non è definito nella classe)
MyClass::setName("Luca");

?>
Praticamente quando lo vado ad eseguire mi dà il seguente errore:
Fatal error: Call to undefined function setName() in /var/www/PHPesempi/metodiMagici1.php on line 26

Da quello che ho capito usando i metodi magici __call e __callStatic dovrebbe succedere che: tento di accedere a dei metodi inaccessibili (perchè non sono stati dichiarati nella classe) ed invece di darmi quell'errore dovrebbe stamparmi:

È stato richiamato il metodo setName con i seguenti argomenti: George"
È stato richiamato il metodo setName in un contesto con i seguenti argomenti: Luca"

Cos'è che mi sfugge?

Grazie
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-03-2010, 12:23   #2
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
C'è un trattino di troppo:
Codice PHP:
$obj1-->setName("George"); 
invece di:
Codice PHP:
$obj1->setName("George"); 
occhio che __callStatic è stato introdotto solo da php 5.3

EDIT: comunque è strano, invece di darti errore di sintassi... chissà che caspita fa

Ultima modifica di kk3z : 08-03-2010 alle 12:26.
kk3z è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
PS6 e nuova XBOX, i SoC avrebbero supera...
Alcuni frigoriferi smart di Samsung si a...
Italiani e IA, l'entusiasmo cala: avanti...
Robin Williams resuscitato dall'IA per p...
Acquista una RTX 5090 usata per risparmi...
CLOSEDQUORUM, il malware che usa quattro...
Microsoft: Calendar, People e Files vann...
Due missili su una scuola elementare ira...
Pirate Face è il Pirate Bay degli LLM: i...
ASUS ROG Azoth 96 HE: con gli switch mag...
Tutte le offerte Amazon aggiornate: sono...
DeepSeek punta sempre di più sui ...
Apple rilascia le prime beta pubbliche d...
La Terra di Mezzo: L'Ombra di Mordor e L...
iPhone 18 Pro e Pro Max smontati da iFix...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v