25. Composer

Andrea Pastore 27/09/2020 0

Composer è un gestore di pacchetti per PHP. È nato nel 2015 e da allora si è imposto come lo standard per la gestione delle dipendenze.

Scaricare Composer

Per scaricare Composer visitare il sito https://getcomposer.org/ e a seconda del sistema operativo che avete avrete una diversa procedura di installazione.

Il file composer.json

Il file composer.json contiene tutte le dipendenze per gestire il nostro progetto. Quando dobbiamo utilizzare una libreria esterna ci basterà inserirla in questo file e automaticamente Composer la scaricherà per noi.

Esempio di composer.json :

{

    "require": {

        "monolog/monolog": "dev- master#2eb0c0978d290a1c45346a1955188929cb4e5db7",

        "acme/foo": "1.0.x-dev#abc123"

    },

    "autoload": {

        "psr-4": {

            "Monolog\\": "src/",

            "Vendor\\Namespace\\": ""

        }

    }
Potrebbero interessarti anche...

Andrea Pastore 27/09/2020

26. Messa in produzione di un progetto

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.

Leggi tutto

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 26/09/2020

4. Errori in PHP

Quando programmiamo possiamo fare degli errori che possono essere più o meno gravi. Il PHP ha quattro differenti tipi di errori:

  • Notice
    più che errori i notice sono avvisi inviati dal PHP quando qualcosa non va per il verso giusto; ad esempio una variabile che non è definita.
  • Parse error
    I parse error sono errori di sintassi, che impediscono l’esecuzione dello script perché quando l’interprete PHP analizza il file se trova errori di sintassi non esegue il codice all’interno. Spesso quando viene lanciato un parse error l’errore non si trova alla riga indicata da PHP ma a quella precedente. Ad esempio quando dimentichiamo un punto e virgola otterremo un parse error, ma non nella riga dove ci siamo dimenticati di scrivere il punto e virgola, in quella successiva.
  • Syntax error
    I syntax error (errore di sintassi) si verificano quando sbagliamo a digitare un comando PHP ad esempio scriviamo echp al posto di echo. Un altro errore di sintassi molto comune l’assenza di un punto e virgola. Analogamente ai parse error visti sopra, anche questi errori impediscono l’esecuzione dello script.
  • Warning
    I warning segnalano un errore che non pregiudica l’esecuzione dello script, ma potrebbe causare errori in futuro.
  • Fatal error
    I fatal error sono errori gravi che comportano l’interruzione dello script. Un esempio è quando sbagliamo a scrivere un comando PHP.

Notiamo una differenza: ci sono alcuni tipi di errori che comportano la mancata esecuzione del codice (parse error e syntax error), altri invece o non bloccano l’esecuzione (notice e warning) oppure comportano l’interruzione (fatal error).

 

Leggi tutto

Cerca...