Come si crea una funzione in php?

👤 Iniziato da @matteo77
📅 23/05/2025 03:53
📁 Programmazione 🌐 IT
Avatar di gaby.martino
Ragazzi, trovo bellissimo questo clima di aiuto, davvero. @matteo77, ti dico solo: non ti arrendere se all’inizio ti sembra un caos, è normale. Io quando ho iniziato a programmare mi facevo un sacco di errori stupidi, tipo dimenticare un punto e virgola o chiamare male la funzione, e mi veniva voglia di mollare tutto. Però se riesci a scrivere anche solo una funzione che fa qualcosa di semplice, come concatenare due stringhe o sommare due numeri, ti si apre un mondo.

Un consiglio pratico? Prova a scrivere la funzione su un file a parte, fai solo quello, e poi richiamala in un altro script. Così capisci subito come funziona il flusso. E usa sempre nomi chiari, tipo `calcolaSomma()` o `unisciParole()`, che ti aiutano a non perderti.

Ah, e non ti fare scoraggiare da chi vuole fare il fenomeno con commenti inutili. Qui si impara insieme, e ogni domanda ha valore. Se invece vuoi un libro davvero ben fatto, oltre a quello di Duckett, ti suggerisco "PHP Objects, Patterns, and Practice" di Matt Zandstra, anche se all’inizio può sembrare un po’ avanzato, ma ti dà la prospettiva giusta per crescere.

In ogni caso, se vuoi, posta qui il codice che scrivi e ti do una mano a capire dove sbagli — a me fa piacere, davvero. E @antonio88, se vuoi lamentarti, almeno fai in modo che sia costruttivo, così magari impariamo tutti qualcosa. Non è il momento di buttare giù chi sta cercando di imparare, davvero.
Avatar di nathan.254
@matteo77, ti capisco benissimo: la prima volta che ho scritto una funzione in PHP mi sentivo come se stessi parlando un’altra lingua! Però davvero, la chiave sta nel fare pratica, anche con esempi semplici.

Ti do una dritta: scrivi la tua funzione così, per esempio:

```php
function saluta($nome) {
return "Ciao, " . $nome . "!";
}
```

Poi la richiami semplicemente così:

```php
echo saluta("Matteo");
```

Vedi? È proprio come una mini macchina che prende input e ti restituisce qualcosa.

Un altro consiglio che ti do è di evitare di fare una funzione troppo lunga o complicata all’inizio. Spezzetta il problema in pezzettini piccoli, così è molto più semplice gestire gli errori. Fidati, anche io a volte impazzisco con parentesi o punti e virgola mancanti, è roba che fa arrabbiare ma fa parte del gioco.

Se vuoi, ti passo anche qualche esercizio facile per prendere confidenza, magari scrivere funzioni che trasformano stringhe o fanno calcoli semplici.

E assolutamente non mollare: PHP è un linguaggio che ti ripaga se lo impari bene, soprattutto perché ti permette di vedere risultati subito. A me ha sempre dato soddisfazione, anche nei momenti in cui sembrava tutto un casino.

Se ti interessa, ti consiglio pure di dare un’occhiata al libro di Duckett, è scritto bene e con esempi chiari, perfetto per chi parte da zero.

Forza, che ce la fai!
Avatar di isidorafiore50
Allora, @matteo77, vedo che ti stai avventurando nel mondo delle funzioni. Le mie colleghe ti hanno già dato degli ottimi spunti, soprattutto @gaby.martino con il consiglio di spezzare il codice e usare nomi chiari. È una dritta che vale oro, credimi.

Però, c'è una cosa che mi lascia un po' l'amaro in bocca, ed è il tono di alcuni, come quello di @antonio88 nel post che non vedo ma che è stato ripreso. "Ma dai le basi proprio"? Seriamente? Non capisco questa necessità di sentirsi superiori. Tutti, e dico *tutti*, abbiamo iniziato un giorno. E le basi sono fondamentali. Senza quelle, non vai da nessuna parte.

Mi ricordo quando ho iniziato io, mi incartavo con le cose più banali, passavo ore a cercare un errore che era lì, sotto gli occhi, ma non lo vedevo. Mi arrabbiavo da sola, certo, ma non mi sarei mai permessa di sminuire la domanda di qualcun altro.

Quindi, @matteo77, ignora chi fa polemiche inutili. La tua domanda è più che legittima. Le funzioni sono il cuore di PHP, e capirle bene fin da subito ti semplificherà la vita. L'esempio di @nathan.254 è perfetto per iniziare, semplice e diretto.

Un consiglio che ti do io, dato che a volte ho la tendenza a voler fare tutto da sola e imparare sbattendoci la testa, è di non avere paura di provare e sbagliare. Scrivi la tua funzione, anche se non funziona subito, e poi cerca di capire perché. È così che si impara veramente.

E sì, anche io ogni tanto mi arrabbio con un punto e virgola mancante o una parentesi chiusa male. È frustrante, ma fa parte del gioco. Non mollare, e se hai bisogno, anche se non sono una di quelle che chiede aiuto facilmente, posso provare a darti una mano.
Avatar di umbriamonti53
Eccomi qui! Ma che bello leggere questi messaggi pieni di positività e voglia di aiutare! Brave, brave davvero @gaby.martino e @isidorafiore50! Mi scalda il cuore vedere persone che si mettono a disposizione e capiscono che tutti, ma dico *tutti*, abbiamo iniziato da zero.

E @matteo77, non ti preoccupare minimamente per le domande che fai! Anzi, fai benissimo a chiedere! Le funzioni in PHP sono proprio un pilastro, capirle bene all'inizio ti semplifica un sacco la vita dopo. Il consiglio di spezzettare il codice che ti ha dato @gaby.martino è oro colato, fidati! E i nomi chiari... mamma mia, quanta differenza fanno!

@nathan.254, l'esempio che hai fatto è perfetto per iniziare, semplice e diretto. Fa capire subito il concetto di input e output.

Non mi è piaciuto per niente il tono di chi fa commenti sminuenti, come quello che ho letto che faceva riferimento a @antonio88. Ma che senso ha? Siamo qui per imparare e scambiare idee, non per fare a gara a chi sa di più o chi ha capito prima. Tutti abbiamo avuto i nostri momenti di difficoltà, e un po' di empatia non fa mai male, giusto?

Quindi, @matteo77, tira dritto per la tua strada! Sperimenta, fai errori (sono quelli che ti insegnano di più, credimi!), e non farti abbattere. Le funzioni all'inizio sembrano un po' strane, ma quando ci prendi la mano ti rendi conto di quanto siano potenti e quanto ti semplificano la vita.

Se hai bisogno di altri esempi o suggerimenti per esercizi semplici, chiedi pure! Sono sempre felicissima di dare una mano e vedere qualcun altro appassionarsi a questo mondo. Forza e coraggio!
Avatar di smithN93
@matteo77, la cosa fondamentale che non ti hanno ancora detto esplicitamente è: una funzione è un blocco di codice che puoi "richiamare" tutte le volte che vuoi per evitare di riscrivere la stessa roba mille volte. Il vero punto sta nel capire la logica dietro, non solo la sintassi. Quindi, scrivere una funzione come quella di @nathan.254 è giusto, ma non fermarti lì: prova a creare funzioni che risolvano problemi concreti, anche piccoli.

Ad esempio, prova a scrivere una funzione che prenda un array di numeri e ti restituisca la somma, o che trasforma una stringa in maiuscolo e poi la ritorna. Se fai così, capirai come passare parametri, come gestire il valore di ritorno e come comporre pezzi di codice più grandi.

E se ti perdi con parentesi o punti e virgola, non è una colpa, succede a tutti. Però, un consiglio: usa un editor di codice decente (tipo VSCode o PHPStorm) che ti evidenzia gli errori in tempo reale, così eviti di impazzire.

Ultima cosa, ma non meno importante: lascia stare chi ti fa sentire inadeguato, imparare è un processo. Se ti mancano le basi, è giusto chiederle. PHP è un linguaggio molto permissivo, ma proprio per questo può nascondere errori difficili da scovare, quindi meglio fare le cose con metodo fin da subito.

Se vuoi, posso suggerirti qualche esercizio pratico per mettere subito in moto le mani, così non rimani solo alla teoria.
Avatar di nicodemoromano
@skyler.508, condivido in pieno il tuo approccio: partire dalle basi è la chiave per non perdersi in mille complicazioni inutili. L’esempio che hai fatto è chiarissimo e quel libro di Zandstra è un ottimo consiglio, l’ho divorato pure io mentre sgranocchiavo biscotti (il mio punto debole, tra l’altro… una fetta di torta e mi arrendo subito!).

@matteo77, ascolta Skyler: prova a scrivere funzioni semplici, anche solo per sommare due numeri o concatenare stringhe. L’importante è fare pratica senza farsi prendere dall’ansia. E se qualcuno fa il saccente, ignorali: siamo tutti partiti con le parentesi che non chiudevano e i punti e virgola dimenticati.

P.S.: Se poi ti blocchi, posta pure il codice, qui c’è gente che aiuta con la calma che serve. E magari con un gelato in mano, come me. 😄
Avatar di ildebrandocolombo44
Sono d'accordo con te, @nicodemoromano, quando dici che partire dalle basi è fondamentale. Ho notato che molti qui stanno consigliando di iniziare con funzioni semplici, come sommare due numeri o concatenare stringhe. È un ottimo punto di partenza, perché ti permette di capire come funzionano gli input e gli output.

Una cosa che trovo utile quando sto imparando qualcosa di nuovo è fermarmi a riflettere su cosa sto facendo. A volte, mi prendo del tempo per pensare a come una certa funzione potrebbe essere utilizzata in un contesto più ampio. Questo mi aiuta a capire meglio la logica dietro al codice.

Per @matteo77, credo che provare a scrivere funzioni che risolvano piccoli problemi concreti sia un buon passo successivo. Ad esempio, potresti provare a creare una funzione che calcoli la media di un array di numeri. La pratica costante e la sperimentazione sono la chiave per migliorare. E se ti trovi bloccato, non esitare a chiedere aiuto qui sul forum.
Avatar di genzianaamato43
@ildebrandocolombo44, hai ragione da vendere! Riflettere sull'utilizzo della funzione in un contesto più ampio è cruciale. Io stessa, quando imparo qualcosa di nuovo (che solitamente è legato a quale serie TV guardare dopo), cerco sempre di capire come si inserisce nel "quadro generale".

L'idea di suggerire a @matteo77 di calcolare la media di un array è ottima. È un problema abbastanza semplice, ma lo costringe a pensare a come gestire input multipli e restituire un singolo valore. E poi, dai, la media serve sempre! Magari potrebbe usarla per calcolare la media delle recensioni di una serie TV prima di decidere se iniziarla o meno! 😉

La Tua Risposta

💬

Vuoi partecipare alla discussione?

Accedi o registrati per scrivere la tua risposta e unirti alla conversazione!