26. Messa in produzione di un progetto

Andrea Pastore 27/09/2020 0

Una volta finito il nostro progetto dobbiamo trasportarlo dal nostro computer al server dove risiederà e sarà fruibile al web. Il server dove risiede il progetto accessibile a tutti è definito server di produzione. Le operazioni più comuni sono il caricamento dei file l’importazione del database, ma può capitare in progetti avanzati di dover fare altre configurazioni.

Caricare file con il protocollo FTP

L’FTP è un protocollo per il trasferimento di dati pensato per caricare file da un computer ad uno spazio web. Per caricare i file del prodotto Geecom che si vuole utilizzare si deve usare un client FTP, ad esempio FileZilla, un programma gratuito scaricabile dal sito http://filezilla-project.org/.

Dopo aver lanciato il programma apparirà questa schermata:

Per caricare i file bisogna stabilire una connessione col sito, riempendo i campi in alto a sinistra del pulsante connessione rapida. Nel campo “Host” bisogna scrivere l'indirizzo del dominio acquistato senza “www.”; nel campo “Nome utente” il nome utente con cui si accede allo spazio web, nel campo “Password” la password per accedere al vostro spazio web. Il campo “Porta” va lasciato vuoto, in questo modo viene usata la porta predefinita.

A connessione avvenuta si possono caricare i file: la finestra a destra mostra le cartelle sul server, quella a sinistra le cartelle del nostro computer. Per portare il nostro progetto online dobbiamo andare nella cartella principale, selezionate tutti i file e trascinarli nella finestra di destra di FileZilla. Il tempo necessario per il caricamento dipende dal numero di file da scaricare.

Potrebbero interessarti anche...

Andrea Pastore 27/09/2020

19. La programmazione a oggetti

Finora abbiamo programmato in modo procedurale, ovvero le istruzioni che abbiamo scritto venivano eseguite una dopo l’altra. Questo sistema di programmazione non è molto efficiente, perché i codici diventano molto grandi e difficilmente manutenibili. La programmazione ad oggetti è nata per risolvere questo problema. Si basa su due principi fondamentali: le classi e gli oggetti. Una classe è un file che definisce un tipo di dato, nonché le operazioni che possono essere effettuate dagli oggetti di quella classe. Sarà possibile poi creare oggetti di quel tipo di dato che possono eseguire le operazioni stabilite.

Caratteristiche programmazione ad oggetti

Le variabili di classe

Una classe può avere variabili proprie, che spesso sono accessibili solo a lei (approfondiremo questa cosa tra poche righe, quando parleremo dell’incapsulamento).  Le variabili di una classe si dichiarano in alto, subito dopo la dichiarazione della classe.

I metodi

I metodi sono delle funzioni che possono essere invocate solo sugli oggetti della classe. Mantengono le stesse proprietà delle funzioni, ma sono applicate solo all’istanza della classe su cui vengono eseguite.

Il costruttore

Il costruttore è un metodo speciale che consente di creare un’istanza dell’oggetto. Viene creato con il metodo __construct, che può prendere in input dei parametri ed inizializzare il nostro oggetto con i loro valori. Il costruttore viene posizionato di solito sotto le variabili di classe.

Incapsulamento

Nelle classi abbiamo la possibilità di scegliere, oltre al tipo di variabile, anche il livello di accesso, tra questi tre valori:

  • public
    se dichiariamo una variabile public questa sarà accessibile anche all’esterno della classe, qualunque parte di un programma potrà leggere quei valori.
  • private
    Se invece la dichiariamo private questi valori potranno essere letti solo all’interno della classe.   
  • protected
    è una via di mezzo: consente la lettura di questa variabile alle classi che estendono la classe che stiamo scrivendo. Vedi il paragrafo successivo sull’ereditarietà.

Nota: in PHP se non scriviamo uno specificatore di accesso i metodi sono public, ovvero possono essere invocati da chiunque.

la regola è quella di dichiarare le variabili private e poi utilizzare dei metodi per restituire o modificare dei valori.

La nostra prima classe in PHP

Creiamo ora la nostra prima classe in PHP. Supponiamo di voler creare una classe che rappresenti un libro, e memorizzare titolo, autore e genere. Il codice di questa classe sarà:

<?php

class Libro {

    private $titolo;

    private $autore;

    private $genere;

    /*

     * Il costruttore in PHP viene creato con il metodo __construct,

     * che può prendere in input dei parametri ed inizializzare il

     * nostro oggetto con i loro valori

     */

    function __construct($titolo, $autore, $genere) {

        $this->titolo = $titolo;

        $this->autore = $autore;

        $this->genere = $genere;

    }

    // getter & setter

    function getTitolo() {

        return $this->titolo;

    }

    function getAutore() {

        return $this->autore;

    }

    function getGenere() {

        return $this->genere;

    }

    function setTitolo($titolo): void {

        $this->titolo = $titolo;

    }

    function setAutore($autore): void {

        $this->autore = $autore;

    }

    function setGenere($genere): void {

        $this->genere = $genere;

    }

}
Leggi tutto

Andrea Pastore 27/09/2020

14. PHP e MySQL

PHP mette a disposizione una serie di strumenti per collegarsi ai più noti database. Essendo utilizzato soprattutto in ambito web PHP è sempre associato al database MySQL, per il quale mette a disposizione la classe mysqli. Vediamo come funziona

Creazione dell’oggetto database

	  $db = new mysqli($host, $utenteDb, $passwordDb, $nomeDb);

            if (mysqli_connect_errno()) {

                echo "Errore durante la connessione al Database: ".mysqli_connect_error();

                exit();

            }

Specificare una porta diversa dalla porta di default

Potrebbe capitarci di lavorare in aziende con requisiti stringenti di sicurezza, che ad esempio hanno cambiato la porta di default a cui il server MySQL è in ascolto. È possibile specificarla, scrivendo:

	$db = new mysqli($host, $utenteDb, $passwordDb, $nomeDb,$portaMysql);

Esecuzione di una query

	if(!$risQuery = $db->query($query)) {
                    echo "Errore durante l'esecuzione della query: ".$db->error;
                    echo "<br>$query";
                exit();
          }

Recuperare i dati della query

Per recuperare i dati della query usiamo la funzione fetch_assoc invocata sull’oggetto $risQuery. Questa funzione restituirà un array associativo che potremmo poi utilizzare per stampare i dati che ci interessano, usando come indici i nomi dei campi del database.

	$oggetto = $risQuery→fetch_assoc();

supponendo che la tabella su cui abbiamo eseguito la query abbia i campi id e nome, dopo aver eseguito il codice qui sopra potremmo scrivere:

	echo $oggetto[“id”].” ”.$oggetto[“nome”];

Se la query ha restituito più di un risultato dobbiamo creare un ciclo per recuperarla:

	while($oggetto=$result->fetch_assoc()) {

// elaboro le singole righe

echo $oggetto[“id”].” ”.$oggetto[“nome”].”
”;  

}

Nota: nel ciclo while abbiamo aggiunto un tag
dopo la stampa, in modo che ad ogni riga del database corrisponda una riga diversa a video.

Conoscere il numero di elementi restituiti dalla query

Può capitare di dover conoscere il numero di elementi restituiti da una query. Questa operazione si può fare controllando la proprietà num_rows dell’oggetto restituito:

	$numeroRighe =  $result->num_rows;
Leggi tutto

Andrea Pastore 26/09/2020

3. Le variabili in PHP

Una variabile è una locazione di memoria in cui è memorizzato un valore. Ad ogni variabile assegniamo un nome che ci servirà per richiamarla. Quando vogliamo usare una variabile, ad esempio scrivendo questo codice:

echo $var1;

PHP recupererà il valore associato a quella variabile in memoria, per fare l’elaborazione che abbiamo richiesto. Nell’esempio qui sopra stiamo chiedendo a PHP di stampare la variabile $var1, quindi il PHP recupererà il valore di questa variabile e poi eseguirà la stampa.

In PHP le variabili iniziano con il simbolo $ seguito da almeno una lettera. Quando creiamo una variabile dobbiamo assegnarle un valore iniziale, questa operazione si chiama assegnamento. Vediamo alcuni esempi:

$nome = “Mario”;  // creiamo una variabile di tipo stringa

$anni  = 10; // creiamo una variabile di tipo numerico

/*

 * stiamo creando una variabile di tipo booleano, ovvero un tipo di

 * variabile che può avere solo due valori: true e false. Più avanti capiremo meglio

 */

$flag   = true;

PHP consente di creare anche variabili più complesse che non contengono solo un valore ma più informazioni, approfondiremo questo discorso più avanti.

Operazioni aritmetiche con le variabili

Vediamo alcune operazioni di base che possiamo fare con le variabili in PHP:

Addizione

$somma = 10 + 20;

Possiamo anche effettuare una somma con delle variabili già esistenti:

$num1 = 10;

$num2 = 20;

$totale = $num1 + $num2;

Sottrazione

analogamente all’addizione possiamo eseguire le sottrazioni

$risultato = 100 - 20;

Anche qui possiamo effettuare una sottrazione con delle variabili già esistenti:

$num1 = 100;

$num2 = 20;

$totale = $num1 - $num2;

Moltiplicazione

stesso discorso per le moltiplicazioni:

$risultato = 5 * 10;

Anche qui possiamo effettuare una sottrazione con delle variabili già esistenti:

$num1 = 10;

$num2 = 2;

$totale = $num1 * $num2;

Divisione

stesso discorso per le moltiplicazioni:

$risultato = 50 / 10;

Anche qui possiamo effettuare una divisione con delle variabili già esistenti:

$num1 = 10;

$num2 = 2;

$totale = $num1 / $num2;

Ci sono dei casi in cui siamo interessati a sapere solo il resto della divisione, magari per capire se il numero è pari o dispari. In questo caso scriveremo cosi:

$resto = $num1 % $num2;

Supponiamo ad esempio di scrivere:

$resto = 5 % 2;

dopo l’operazione la variabile $resto conterrà il valore 1, perché 5/2 = 2 con resto di 1

I simboli +, -, *, / e % sono operatori aritmetici. I nomi dei primi 4 simboli sono scontati, il simbolo % è noto come operatore modulo. PHP mette a disposizione altri operatori, tra cui:

Operatore Azione svolta
+= è una scorciatoia per incrementare una variabile di una certa quantità equivale a scrivere: $totale = $totale + 10;
-= è una scorciatoia per sottrarre a una variabile una certa quantità equivale a scrivere: $totale = $totale - 10;
*= è una scorciatoia per moltiplicare una variabile per un numero equivale a scrivere: $totale = $totale * 10;

Concatenare variabili

Supponiamo di avere queste 2 variabili PHP di tipo stringa:

	$var1 = “Ciao”;

$var2 = “Mondo”;

possiamo ottenere una stringa unica unendo le variabili, con l’operatore concatenazione, che è definito con il simbolo “.” :

	$var 3 = $var1.$var2

Se provassimo a stampare $var3 otterremo la scritta “CiaoMondo”, senza alcuno spazio. Anche gli spazi infatti sono stringhe, se vogliamo inserirli dobbiamo inserirli nella concatenazione:

	$var 3 = $var1.” ”.$var2

In quest’ultimo esempio abbiamo usato l’operatore “.” due volte: la prima per aggiungere uno spazio, la seconda per aggiungere il contenuto di $var2.

Possiamo effettuare anche la concatenazione con dei numeri, ad esempio:

	$var1 = “Matricola”;

$var2 = 1200;

Se scrviamo il seguente codice:

	$var 3 = $var1.” ”.$var2

la variabile 3 avrà valore “Matricola 1200”

Le costanti

PHP consente di definire delle costanti, ovvero delle speciali variabili che, una volta assegnato il valore, non lo cambiano più. Per dichiarare una costante dobbiamo usare il simbolo _ e non il simbolo $ che utilizziamo quando usiamo le variabili. Ad esempio:

	_NOME 		= “Mario”;

_COGNOME = “Rossi”;

con questo codice abbiamo definito due costanti, che possono essere richiamate nel resto del codice del programma. Ad esempio:

	echo NOME;

echo COGNOME;
Leggi tutto

Cerca...