23. I namespace

Andrea Pastore 27/09/2020 0

Un namespace una collezione di nomi di entità, definite dal programmatore, omogeneamente usate in uno o più file sorgente. A partire da PHP 7 anche PHP supporta questo approccio, che ha lo scopo di evitare confusione ed equivoci nel caso siano necessarie molte entità con nomi simili, fornendo il modo di raggruppare i nomi per categorie.

Concettualmente un namespace è assimilabile alla struttura delle cartelle di un filesystem: dobbiamo dichiarare un’origine per il nostro namespace che corrisponde alla directory root, o al nome del disco su sistemi Windows, e possiamo inserire in maniera sequenziale una serie di suddivisioni che in questa similitudine rappresenterebbero le sottocartelle.

Vantaggi dei namespace

Il primo vantaggio è quello di organizzare il codice in modo da facilitare la manutenibilità, ad esempio tramite lo standard PSR-4;

non dobbiamo preoccuparci dei problemi relativi alle omonimie tra classi, ad esempio una classe con un nome molto comune come Connection non sarà più un problema.

 

Potrebbero interessarti anche...

Andrea Pastore 27/09/2020

21. PHP e i file

PHP, come tutti i linguaggi di programmazione, dispone di una serie di funzioni per gestire i file.

Controllare l’esistenza di un file

Ci sono casi in cui dobbiamo verificare l'esistenza di un file, prima di compiere

determinate operazioni. In tal caso possiamo usare file exists, che restituisce ture

se il file esiste e false altrimenti

     if(file_exists("text.txt")) {

         echo "Il file esiste";

     }

     else {

         echo "Il file non esiste";

     }

La funzione fopen

La funzione fopen è una delle unzioni più popolari per quanto riguarda i file: crea un oggetto che consente la lettura di un file in diverse modalità:

  • lettura
  • scrittura
  • append
  • lettura e scrittura

il secondo parametro ci consente di specificare la modalità del file

  • r sta per lettura
  • w sta per scrittura
  • w+ lettura e scrittura, elimina il contenuto precedente del file
  • a sta per append
  • a+ lettura e scrittura, non elimina il contenuto precedente
     $file = fopen("prova.txt", "r");

     // per leggere un file possiamo usare questo ciclo
     while(! feof($file)) {
        $line = fgets($file); // fgets lette il file una riga alla volta
        echo $line. "<br>";
     }

     /*
      * per scrivere un file oltre ad aprire un file in modalità scrittura
      * con fopen dobbiamo utilizzare la funzione fwrite
      */
     $file2 = fopen("file.txt","w");
     fwrite($file2,$line);

Leggere il contenuto di un file

PHP mette a disposizione altre funzioni per leggere l’intero contenuto del file:

readfile()

     $contenutoFile = readfile("prova.txt");

     echo $contenutoFile; // nota che questa funzione stamperà il contenuto del file e la lunghezza

file_get_contents()

La funzione più utilizzata per leggere sui file, consente anche di specificare se è abilitata la modalità strict path (che non vedremo in questa guida), un eventuale context e  il punto di partenza della lettura e quanti caratteri dobbiamo leggere.

     // in questo esempio leggiamo tutto il contenuto

     $contenutoFile = file_get_contents(“prova.txt”);

     // in questo esempio leggiamo i primi 20 caratteri a partire dall’undicesimo carattere

     $contenutoFile = file_get_contents(“prova.txt”, FALSE, NULL, 20, 14);

Copiare un file

PHP mette a disposizione la funzione copy per copiare un file. Vediamo un esempio:    

     copy("file.txt","nuovoFile.txt");

Con copy è possibile copiare anche file localizzati su server diversi. Per fare questo basta specificare un'url nel primo parametro, ad esempio:

     copy("https:miosito.it/logo.png","nuovoFile.png");
Leggi tutto

Andrea Pastore 26/09/2020

5. PHP e l’HTML

PHP è un linguaggio di scripting che lavora in simbiosi con l’HTML, tanto è vero che può essere utilizzato insieme ad esso. Se però scriviamo del codice HTML all’interno di un pezzo di codice PHP (ovvero tutto quello che scriviamo tra i tag <?php e ?>) otteniamo un errore. Ad esempio guardiamo questo semplice codice:

Vediamo che abbiamo inserito un codice HTML (che incomincia con il tag

e finisce con

), ma l’interprete PHP analizzando questo codice trova il simbolo “<” che per lui ha un significato diverso ed è scorretto nella posizione in cui sta, quindi segnala un errore di tipo Syntax error.

Per scrivere codice HTML in uno script PHP dobbiamo usare la funzione echo. Il codice HTML deve essere trattato come una normale stringa. Vediamo l’esempio qui sotto:

Leggi tutto

Andrea Pastore 19/03/2020

1. Programmare in PHP

Il PHP è un linguaggio di scripting utilizzato principalmente per creare siti web e web application. È molto popolare perché i principali strumenti per creare siti web (WordPress, Joomla!, Drupal e molti altri) sono fatti in PHP.

Hello world

È tradizione iniziare a programmare scrivendo un programma che stampa a video la scritta “Hello world!”. Per fare questo in PHP dobbiamo scrivere:




<?php

     echo “Hello wordl!”;


Il tag <?php

Il codice PHP viene scritto in file con estensione “.php” e deve essere preceduto dal tag <?php. L’interprete PHP esegue il codice contenuto tra questo tag e il tag di chiusura ?> . Supponiamo di avere questo codice:

<html>

<head></head>

<body>

<?php

echo “Hello world!”;

?>

</body>

</html>


Quando l’interprete PHP analizzerà questo file si concentrerà solo sulla parola contenuta tra i tag <?php e ?>. Il codice echo “Hello world!”; verrà eseguito e al suo posto verrà scritto “Hello world!”.

 Vediamo ora un altro esempio di un file che contiene solo codice PHP: in questo caso il tag di chiusura non è necessario, in quanto non sono presenti tag HTML.



<?php

echo “Hello world!”;

Cosa succede quando carichiamo una pagina in PHP

PHP è un linguaggio interpretato, significa che quando un utente visita una pagina il server la elaborerà in quel momento. L’elaborazione avviene con un programma apposito, l’interprete PHP. Vediamo quali sono i passaggi che avvengono quando viene richiesta una pagina web:

Commenti in PHP

I commenti sono degli appunti che possiamo voler scrivere quando creiamo un programma. Quando scriviamo un programma ci ricordiamo quello che stiamo facendo, ma sarà difficile che ci ricorderemo qualcosa di un programma scritto un anno fa. Possiamo commentare in due modi diversi:


// questo è un commento su singola riga

/*

  * questo è un commento su più righe

* viene usato quando dobbiamo commentare una funzione, un algoritmo ecc.

*/

Il testo contenuto all’interno dei commenti viene ignorato da PHP, se proviamo a scrivere lo stesso testo dei commenti senza il simbolo del commento otterremo un errore, perché PHP scambierà quel testo per comandi che deve eseguire e ci avviserà che ci sono errori nel codice.

Installiamo il nostro IDE

Un IDE (integrated desktop environment) è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma.  Spesso l'IDE aiuta lo sviluppatore segnalando errori di sintassi del codice direttamente in fase di scrittura, oltre a tutta una serie di strumenti e funzionalità di supporto alla fase di sviluppo e debugging.

Il nostro IDE di riferimento: NetBeans

NetBeans è uno dei migliori editor gratuiti per il PHP: è in grado di evidenziare la sintassi, suggerire il codice, trovare errori di sintassi e altro ancora. Nella schermata sottostante abbiamo cominciato a scrivere il comando PHP echo, e vediamo che NetBeans ci sta indicando la sintassi in un riquadro immediatamente sotto alla riga dove stiamo scrivendo. Ci sta anche segnalando che quello che abbiamo scritto noi (ovvero solo la parola echo) non è corretto, evidenziandola in rosso.

Vantaggi di un IDE

Un IDE presenta una serie di vantaggi, come ad esempio la possibilità di consultare versioni precedenti dello stesso file (notate che in alto c’è un tasto Source che mostra il codice che scriviamo, subito a destra c’è il tasto History che consente di vedere versioni precedenti del file). Altra cosa importante sono l’auto completamento (ovvero la capacità del software di capire quale funzione o variabile dobbiamo usare) e le scorciatoie di tastiera: ad esempio:

alt + shift + canc + freccia su oppure freccia giù

consente di portare la riga selezionata sopra o sotto, a seconda della freccia selezionata

Installiamo XAMPP

XAMPP è un server locale, ovvero uno strumento che consente di simulare sui nostri computer domestici uno spazio web. I server locali sono molto utilizzati dagli sviluppatori, perché danno la possibilità di testare i progetti in locale e di trasferirli poi comodamente sui server di destinazione una volta pronti.

Al suo interno contiene PHP, MySQL e phpMyAdmin e consente con un solo click di creare un server con tutto quello che ci serve per eseguire applicazioni PHP e MySQL. XAMPP si può installare su Linux, Windows e Mac OS X con un file di installazione scaricabile dal sito ufficiale https://www.apachefriends.org. Il sito è disponibile in molte lingue, tra cui l’italiano, e oltre a darci la possibilità di scaricare XAMPP contiene le risposte alle domande più comuni fatte dagli utenti, divise per sistema operativo.

Una volta installato possiamo avere dei siti che stanno solo sul nostro computer, accedendo all’indirizzo “localhost/nomecartella” (dove “nomecartella” può essere sostituito da un nome a piacimento). Le cartelle vanno create nella cartella htdocs che si trova all’interno della directory principale di XAMPP: su Windows il percorso è solitamente

C://XAMPP/htdox

sulle principali distribuzioni Linux invece il percorso di questa cartella è:

opt/lampp/htdocs

Creiamo un nuovo progetto PHP con NetBeans

Come primo passo creiamo all’interno della cartella htdocs di XAMPP creiamo la cartella principale del nostro progetto, ad esempio: “progetto1”.

Dopo aver aperto NetBeans clicchiamo su file e poi su new project, si aprirà la schermata che ci consente di scegliere quale tipo di progetto creare. Noi sceglieremo PHP Application with Existing Sources. Vedere la figura sotto

fatto questo clicchiamo su next e scegliamo la cartella base del progetto, che è quella che abbiamo creato prima (progetto1):

da questo momento in poi tutti i file e le cartelle che creeremo su NetBeans verranno inserite in quella cartella e potranno essere testate digitando l’indirizzo localhost/progetto1/nomeFile.php

 

Leggi tutto

Cerca...