Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2008, 10:38   #1
mastrobutti
Senior Member
 
L'Avatar di mastrobutti
 
Iscritto dal: Oct 2008
Città: Gorizia
Messaggi: 363
[PHP] Modificare nomi metodi PHP

Ragazzi sono da un po' che ci sto pensando ma non ne salto fuori.... sì ho già cercato nel forum ma non ho trovato nulla.

Allora la situazione è semplice: dopo un GET, ricevo $_GET['action'] che non è altro che il tipo di azione che devo svolgere. Questa action è un metodo di una classe Model.

Quindi richiamo la classe, e poi dovrei richiamare il metodo.

Quello che vorrei fare io è questo: visto che ho 20 metodi, vorrei una cosa automatizzata, e quindi vorrei che il nome del metodo venisse richiamato da solo.
Avevo provato così

$Model = new Model();
$Model->$_GET['action']."()";

ma non mi lancia il metodo, mentre se faccio

$Model = new Model();
$Model->login();

(login() è uno dei metodi) funziona alla perfezione.



Non vorrei agire con switch o robe simili perchè sporcherei tanto il codice, speriamo che qualcuno di voi mi illumini

Grazie a tutti
__________________
Mobo: Asus Rampage Extreme II - CPU: Intel i7 920 @ 4 GHz/1,34 cooled by Thermalright Ultra 120 eXtreme - RAM: Team Group Xtrteme - VGA: Reference GTX 295 stock in OC (scalda un po') - PSU: Tagan TG900-BZ - HDD: 2 Ramptor 74 GB 10000 rpm + Samsung 500GB + WD 1 TB -Case: CM Cosmos S moddato
mastrobutti è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 14:44   #2
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Attento a fare queste cose, controlla che effettivamente $_GET['action'] faccia parte dei metodi che vuoi chiamare, per esempio:
Codice PHP:
if (in_array($_GET['action'], array("metodo1""metodo2"))) 
Comunque la soluzione è usare call_user_func:
Codice PHP:
call_user_func(array("NomeClasse"$_GET['action']));
//se vuoi qualche parametro
call_user_func(array("NomeClasse"$_GET['action']), $parametro1$parametro2);
//oppure anche 
call_user_func_array(array("NomeClasse"$_GET['action']), array($parametro1$parametro2)); 

Ultima modifica di kk3z : 11-11-2008 alle 14:46.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 15:12   #3
mastrobutti
Senior Member
 
L'Avatar di mastrobutti
 
Iscritto dal: Oct 2008
Città: Gorizia
Messaggi: 363
Grazie mille, questa funzione mi mancava: mi hai salvato stavo già provando alchimie strane.

Ora scrivo anche una bella funzione per controllare le action che mi arrivano.

Visto che ci sono ti chiedo ancora una cosa: c'è una funzione che mi permette di conoscere tutti i metodi di una classe? Le action disponibili sono tutte action, quindi per riempire l'array di controllo farei una funzione che si va a riempire da sola l'array con tutti i metodi che trova nella classe.

Grazie ancora
__________________
Mobo: Asus Rampage Extreme II - CPU: Intel i7 920 @ 4 GHz/1,34 cooled by Thermalright Ultra 120 eXtreme - RAM: Team Group Xtrteme - VGA: Reference GTX 295 stock in OC (scalda un po') - PSU: Tagan TG900-BZ - HDD: 2 Ramptor 74 GB 10000 rpm + Samsung 500GB + WD 1 TB -Case: CM Cosmos S moddato

Ultima modifica di mastrobutti : 11-11-2008 alle 15:20.
mastrobutti è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 18:06   #4
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Trovata su google: get_class_methods
Leggi anche le note e i commenti, c'è una differenza tra php4 e php5.
kk3z è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Apple Smart Glass: display integrato e d...
Mortal Kombat 3 si farà: la confe...
iPhone 18 Pro: prime indiscrezioni sulle...
Vai all'università? Hai un anno d...
Rubrik accelera su IA e sicurezza: tra c...
Nuovo Nothing Phone (3) in offerta su Am...
Roborock Qrevo Edge in offerta su Amazon...
Polizia statunitense mette in guardia: s...
EUREKA J15 Ultra ed Evo Ultra in offerta...
L'Olanda 'nazionalizza' il produttore di...
Robot Lefant M2 Pro in offerta su Amazon...
Ultimi 2 giorni di sconti sui dispositiv...
TP-Link è già proiettata a...
Colpo grosso di Zuckerberg: Meta assume ...
Addio ai matrimoni con l'intelligenza ar...
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: 10:15.


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