PHP è un acronimo ricorsivo per "PHP: Hypertext Preprocessor". PHP è un linguaggio di scripting lato server incorporato nell'HTML. Viene utilizzato per gestire contenuti dinamici, database, monitoraggio delle sessioni e persino creare interi siti di e-commerce.
Usi comuni di PHP -
PHP esegue le funzioni di sistema, cioè da file su un sistema può crearli, aprirli, leggere, scrivere e chiuderli.
PHP può gestire i moduli, ovvero raccogliere dati da file, salvare dati in un file, tramite e-mail è possibile inviare dati, restituire dati all'utente.
Puoi aggiungere, eliminare, modificare elementi all'interno del tuo database tramite PHP.
Accedi alle variabili dei cookie e imposta i cookie.
Utilizzando PHP, puoi limitare gli utenti ad accedere ad alcune pagine del tuo sito web.
Può crittografare i dati.
Tutto il codice PHP deve essere incluso all'interno di uno dei tre speciali tag di markup che vengono riconosciuti dal PHP Parser.
<?php PHP code goes here ?>
<? PHP code goes here ?>
<script language="php"> PHP code goes here </script>
Most common tag is the <?php...?>
Il file di configurazione PHP, php.ini, è il modo finale e più immediato per influenzare le funzionalità di PHP. Il file php.ini viene letto ogni volta che PHP viene inizializzato. In altre parole, ogni volta che httpd viene riavviato per la versione del modulo o con ogni esecuzione di script per la versione CGI. Se la tua modifica non viene visualizzata, ricordati di interrompere e riavviare httpd. Se ancora non viene visualizzato, usa phpinfo () per controllare il percorso di php.ini.
Il motore di analisi PHP ha bisogno di un modo per differenziare il codice PHP da altri elementi nella pagina. Il meccanismo per farlo è noto come "fuga in PHP".
Gli spazi vuoti sono gli elementi digitati che sono tipicamente invisibili sullo schermo, inclusi spazi, tabulazioni e ritorni a capo (caratteri di fine riga). PHP insensibile agli spazi vuoti significa che non importa quasi mai quanti caratteri di spazi bianchi hai in una riga. Un carattere di spazio è uguale a molti di questi caratteri.
No, PHP distingue parzialmente tra maiuscole e minuscole.
Ecco le cose più importanti da sapere sulle variabili in PHP.
Tutte le variabili in PHP sono indicate con un segno di dollaro iniziale ($).
Il valore di una variabile è il valore della sua assegnazione più recente.
Le variabili vengono assegnate con l'operatore =, con la variabile a sinistra e l'espressione da valutare a destra.
Le variabili possono, ma non è necessario, essere dichiarate prima dell'assegnazione.
Le variabili in PHP non hanno tipi intrinseci: una variabile non sa in anticipo se verrà utilizzata per memorizzare un numero o una stringa di caratteri.
Le variabili utilizzate prima di essere assegnate hanno valori predefiniti.
PHP fa un buon lavoro nel convertire automaticamente i tipi da uno all'altro quando necessario.
Le variabili PHP sono simili a Perl.
PHP ha un totale di otto tipi di dati che utilizziamo per costruire le nostre variabili:
Integers - sono numeri interi, senza punto decimale, come 4195.
Doubles - sono numeri in virgola mobile, come 3.14159 o 49.1.
Booleans - hanno solo due possibili valori, vero o falso.
NULL - è un tipo speciale che ha un solo valore: NULL.
Strings - sono sequenze di caratteri, come "PHP supporta le operazioni sulle stringhe".
Arrays - sono raccolte denominate e indicizzate di altri valori.
Objects - sono istanze di classi definite dal programmatore, che possono impacchettare altri tipi di valori e funzioni che sono specifici della classe.
Resources - sono variabili speciali che contengono riferimenti a risorse esterne a PHP (come le connessioni al database).
Le regole per denominare una variabile sono le seguenti:
I nomi delle variabili devono iniziare con una lettera o un trattino basso.
Un nome di variabile può essere composto da numeri, lettere, trattini bassi ma non è possibile utilizzare caratteri come +, -,%, (,). & , eccetera
Ecco le regole per determinare la "verità" di qualsiasi valore non già di tipo booleano -
Se il valore è un numero, è falso se esattamente uguale a zero e vero altrimenti.
Se il valore è una stringa, è falso se la stringa è vuota (ha zero caratteri) o è la stringa "0", altrimenti è vero.
I valori di tipo NULL sono sempre falsi.
Se il valore è un array, è falso se non contiene altri valori, altrimenti è vero. Per un oggetto, contenere un valore significa avere una variabile membro a cui è stato assegnato un valore.
Le risorse valide sono vere (sebbene alcune funzioni che restituiscono risorse quando hanno esito positivo restituiranno FALSE se non riuscite).
Non utilizzare il doppio come booleano.
NULL è un tipo speciale che ha un solo valore: NULL. Per dare a una variabile il valore NULL, assegnalo semplicemente in questo modo:
$my_var = NULL;
La costante speciale NULL è in maiuscolo per convenzione, ma in realtà non fa distinzione tra maiuscole e minuscole; potresti anche aver digitato -
$my_var = null;
Una variabile a cui è stato assegnato NULL ha le seguenti proprietà:
Restituisce FALSE in un contesto booleano.
Restituisce FALSE quando viene testato con la funzione IsSet ().
Per definire una costante devi usare la funzione define () e per recuperare il valore di una costante devi semplicemente specificarne il nome. A differenza delle variabili, non è necessario avere una costante con $.
Come indicato dal nome, questa funzione restituirà il valore della costante. Ciò è utile quando si desidera recuperare il valore di una costante, ma non si conosce il suo nome, ovvero è memorizzato in una variabile o restituito da una funzione.
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>
Solo i dati scalari (booleano, intero, float e stringa) possono essere contenuti nelle costanti.
Non è necessario scrivere un segno di dollaro ($) prima di una costante, dove come in Variabile si deve scrivere un segno di dollaro.
Le costanti non possono essere definite mediante un semplice assegnamento, possono essere definite solo utilizzando la funzione define ().
Le costanti possono essere definite e accessibili ovunque senza riguardo alle regole di scoping delle variabili.
Una volta che le costanti sono state impostate, non possono essere ridefinite o indefinite.
PHP fornisce un gran numero di costanti predefinite a qualsiasi script che esegue noto come costanti magiche.
_LINE_ - Il numero di riga corrente del file.
_FILE_ - Il percorso completo e il nome del file. Se utilizzato all'interno di un include, viene restituito il nome del file incluso. A partire da PHP 4.0.2, _FILE_ contiene sempre un percorso assoluto mentre nelle versioni precedenti conteneva un percorso relativo in alcune circostanze.
_FUNCTION_ - Il nome della funzione. (Aggiunto in PHP 4.3.0) A partire da PHP 5 questa costante restituisce il nome della funzione così come è stato dichiarato (distingue tra maiuscole e minuscole). In PHP 4 il suo valore è sempre minuscolo.
_CLASS_ - Il nome della classe. (Aggiunto in PHP 4.3.0) A partire da PHP 5 questa costante restituisce il nome della classe così come è stato dichiarato (distingue tra maiuscole e minuscole). In PHP 4 il suo valore è sempre minuscolo.
_METHOD_ - Il nome del metodo della classe. (Aggiunto in PHP 5.0.0) Il nome del metodo viene restituito così come è stato dichiarato (distingue tra maiuscole e minuscole).
break termina il ciclo for o l'istruzione switch e trasferisce l'esecuzione all'istruzione immediatamente successiva al ciclo for o all'opzione.
continue fa sì che il ciclo salti il resto del suo corpo e ritorni immediatamente le sue condizioni prima di ripetere.
L'istruzione foreach viene utilizzata per scorrere gli array. Per ogni passaggio il valore dell'elemento dell'array corrente viene assegnato a $ value e il puntatore dell'array viene spostato di uno e nel passaggio successivo verrà elaborato l'elemento successivo.
foreach (array as value)
{
code to be executed;
}
Matrice numerica - Una matrice con un indice numerico. I valori vengono memorizzati e accessibili in modo lineare.
Array associativo - Un array con stringhe come indice. Memorizza i valori degli elementi in associazione con i valori chiave piuttosto che in un rigoroso ordine di indice lineare.
Matrice multidimensionale: si accede a una matrice contenente uno o più matrici e valori utilizzando più indici.
Per concatenare due variabili stringa insieme, utilizzare l'operatore punto (.) -
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Questo produrrà il seguente risultato:
Hello World 1234
La funzione strlen () viene utilizzata per trovare la lunghezza di una stringa. Troviamo la lunghezza della nostra stringa "Hello world!" -
<?php
echo strlen("Hello world!");
?>
Questo produrrà il seguente risultato:
12
La funzione strpos () viene utilizzata per cercare una stringa o un carattere all'interno di una stringa. Se viene trovata una corrispondenza nella stringa, questa funzione restituirà la posizione della prima corrispondenza. Se non viene trovata alcuna corrispondenza, restituirà FALSE. Vediamo se riusciamo a trovare la stringa "world" nella nostra stringa -
<?php
echo strpos("Hello world!","world");
?>
Questo produrrà il seguente risultato:
6
PHP fornisce una funzione getenv () per accedere al valore di tutte le variabili d'ambiente.
Una delle variabili di ambiente impostate da PHP è HTTP_USER_AGENT che identifica il browser e il sistema operativo dell'utente.
La funzione PHP rand () viene utilizzata per generare un numero casuale. Questa funzione può generare numeri entro un dato intervallo. Il generatore di numeri casuali dovrebbe essere impostato per evitare che venga generato un modello regolare di numeri. Ciò si ottiene utilizzando la funzione srand () che specifica il numero di inizializzazione come argomento.
La variabile predefinita PHP $ _PHP_SELF viene utilizzata per il nome dello script PHP e quando fai clic sul pulsante "invia" verrà chiamato lo stesso script PHP.
La funzione PHP header () fornisce intestazioni HTTP non elaborate al browser e può essere utilizzata per reindirizzarlo a un'altra posizione. Lo script di reindirizzamento dovrebbe essere nella parte superiore della pagina per impedire il caricamento di qualsiasi altra parte della pagina. Il target è specificato dall'intestazione Location: come argomento della funzione header (). Dopo aver chiamato questa funzione, la funzione exit () può essere utilizzata per interrompere l'analisi del resto del codice.
L'intestazione HTTP sarà diversa dall'intestazione effettiva in cui inviamo Content-Type come testo / html \ n \ n. In questo caso il tipo di contenuto sarà application / octet-stream e il nome del file effettivo verrà concatenato insieme ad esso. Ad esempio, se si desidera rendere un file FileName scaricabile da un determinato collegamento, la sua sintassi sarà la seguente.
#!/usr/bin/perl
# HTTP Header
print "Content-Type:application/octet-stream; name=\"FileName\"\r\n";
print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n";
# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
print("$buffer");
}
PHP fornisce l'array associativo $ _GET per accedere a tutte le informazioni inviate utilizzando il metodo GET.
PHP fornisce l'array associativo $ _POST per accedere a tutte le informazioni inviate utilizzando il metodo POST.
La variabile PHP $ _REQUEST contiene il contenuto di $ _GET, $ _POST e $ _COOKIE. Discuteremo della variabile $ _COOKIE quando spiegheremo i cookie. La variabile PHP $ _REQUEST può essere utilizzata per ottenere il risultato dai dati del modulo inviati con entrambi i metodi GET e POST.
array () - Crea un array.
sort () - Ordina un array.
Le stringhe citate singolarmente vengono trattate quasi letteralmente, mentre le stringhe citate due volte sostituiscono le variabili con i loro valori e interpretano in modo speciale determinate sequenze di caratteri.
<?php
$variable = "name";
$literally = 'My $variable will not print!\\n';
print($literally);
print "<br />";
$literally = "My $variable will print!\\n";
print($literally);
?>
Questo produrrà il seguente risultato:
My $variable will not print!\n
My name will print
Per concatenare due variabili stringa insieme, utilizzare l'operatore punto (.).
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Questo produrrà il seguente risultato:
Hello World 1234
La variabile PHP $ _REQUEST contiene il contenuto di $ _GET, $ _POST e $ _COOKIE. Discuteremo della variabile $ _COOKIE quando spiegheremo i cookie. La variabile PHP $ _REQUEST può essere utilizzata per ottenere il risultato dai dati del modulo inviati con entrambi i metodi GET e POST.
Ci sono due funzioni PHP che possono essere utilizzate per includere un file PHP in un altro file PHP.
La funzione include ()
La funzione require ()
Se c'è qualche problema nel caricamento di un file, la funzione require () genera un errore fatale e interrompe l'esecuzione dello script mentre la funzione include () genera un avviso ma lo script continuerà l'esecuzione.
La funzione PHP fopen () viene utilizzata per aprire un file. Richiede due argomenti che indicano prima il nome del file e poi la modalità in cui operare. La modalità "r" apre il file in sola lettura e posiziona il puntatore del file all'inizio del file.
Una volta che un file è stato aperto usando la funzione fopen (), può essere letto con una funzione chiamata fread (). Questa funzione richiede due argomenti. Questi devono essere il puntatore del file e la lunghezza del file espressa in byte.
La lunghezza del file può essere trovata usando la funzione filesize () che prende il nome del file come argomento e restituisce la dimensione del file espressa in byte.
L'esistenza del file può essere confermata usando la funzione file_exist () che prende il nome del file come argomento.
Sì! È possibile impostare un parametro in modo che abbia un valore predefinito se il chiamante della funzione non lo passa.
PHP ha fornito la funzione setcookie () per impostare un cookie. Questa funzione richiede fino a sei argomenti e dovrebbe essere chiamata prima del tag <html>. Per ogni cookie questa funzione deve essere chiamata separatamente.
setcookie(name, value, expire, path, domain, security);
PHP offre molti modi per accedere ai cookie. Il modo più semplice è utilizzare le variabili $ _COOKIE o $ HTTP_COOKIE_VARS.
È possibile utilizzare la funzione isset () per verificare se un cookie è impostato o meno.
Per eliminare un cookie è necessario chiamare setcookie () solo con l'argomento name.
Una sessione PHP viene avviata facilmente effettuando una chiamata alla funzione session_start (). Questa funzione controlla prima se una sessione è già iniziata e se non ne è avviata nessuna, ne avvia una. Si consiglia di inserire la chiamata a session_start () all'inizio della pagina.
Le variabili di sessione sono memorizzate in un array associativo chiamato $ _SESSION []. È possibile accedere a queste variabili durante la durata di una sessione.
Utilizza la funzione isset () per verificare se la variabile di sessione è già impostata o meno.
Ecco l'esempio per annullare l'impostazione di una singola variabile:
<?php
unset($_SESSION['counter']);
?>
Una sessione PHP può essere distrutta dalla funzione session_destroy ().
PHP utilizza la funzione mail () per inviare un'e-mail. Questa funzione richiede tre argomenti obbligatori che specificano l'indirizzo e-mail del destinatario, l'oggetto del messaggio e il messaggio effettivo, inoltre ci sono altri due parametri opzionali.
mail( to, subject, message, headers, parameters );
Questa è una variabile PHP globale. Questa variabile è un array a doppia dimensione associato e conserva tutte le informazioni relative al file caricato.
Usando $ _FILES ['file'] ['tmp_name'] - fornisce l'accesso al file caricato nella directory temporanea sul server web.
Utilizzando $ _FILES ['file'] ['nome'] - fornisce il nome effettivo del file caricato.
Utilizzando $ _FILES ['file'] ['size'] - fornisce la dimensione in byte del file caricato.
Utilizzando $ _FILES ['file'] ['tipo'] - fornisce il tipo MIME del file caricato.
Utilizzando $ _FILES ['file'] ['errore'] - fornisce il codice di errore associato al caricamento di questo file.
$ GLOBALS - Contiene un riferimento a ogni variabile attualmente disponibile nell'ambito globale dello script. Le chiavi di questo array sono i nomi delle variabili globali.
$ _SERVER - Questo è un array contenente informazioni come intestazioni, percorsi e posizioni degli script. Le voci in questo array vengono create dal server web. Non vi è alcuna garanzia che ogni server web fornirà uno di questi. Vedere la sezione successiva per un elenco completo di tutte le variabili SERVER.
$ _COOKIE - Un array associativo di variabili passato allo script corrente tramite cookie HTTP.
$ _SESSION - Un array associativo contenente variabili di sessione disponibili per lo script corrente.
$ _PHP_SELF - Una stringa contenente il nome del file di script PHP in cui viene chiamato.
$ php_errormsg - $ php_errormsg è una variabile contenente il testo dell'ultimo messaggio di errore generato da PHP.
ereg () - La funzione ereg () cerca una stringa specificata da string per una stringa specificata da pattern, restituendo true se il pattern viene trovato e false in caso contrario.
eregi () - La funzione eregi () cerca in una stringa specificata da pattern una stringa specificata da string. La ricerca non fa distinzione tra maiuscole e minuscole.
La funzione split () dividerà una stringa in vari elementi, i confini di ogni elemento basati sull'occorrenza di pattern in string.
preg_match () - La funzione preg_match () ricerca string per pattern, restituendo true se pattern esiste e false in caso contrario.
La funzione preg_split () opera esattamente come split (), tranne per il fatto che le espressioni regolari sono accettate come parametri di input per pattern.
Utilizzando il metodo getMessage () della classe Exception che restituisce il messaggio di eccezione.
Utilizzando il metodo getCode () della classe Exception che restituisce il codice di eccezione.
Utilizzo del metodo getFile () della classe Exception che restituisce il nome del file di origine.
Utilizzando il metodo getLine () della classe Exception che restituisce la riga di origine.
Utilizzando il metodo getTrace () della classe Exception che restituisce l'array del backtrace.
Utilizzando il metodo getTraceAsString () della classe Exception che restituisce una stringa di traccia formattata.
La funzione time () di PHP ti fornisce tutte le informazioni di cui hai bisogno sulla data e l'ora correnti. Non richiede argomenti ma restituisce un numero intero.
La funzione getdate () accetta opzionalmente un timestamp e restituisce un array associativo contenente informazioni sulla data. Se si omette il timestamp, funziona con il timestamp corrente restituito da time ().
La funzione date () restituisce una stringa formattata che rappresenta una data. Puoi esercitare un enorme controllo sul formato restituito da date () con un argomento stringa che devi passare ad esso.
PHP fornisce la funzione mysql_connect per aprire una connessione al database.
connection mysql_connect(server,user,passwd,new_link,client_flag);
PHP utilizza la funzione mysql_query per creare un database MySQL. Questa funzione accetta due parametri e restituisce TRUE in caso di successo o FALSE in caso di fallimento.
bool mysql_query( sql, connection );
La sua funzione più semplice mysql_close PHP fornisce per chiudere una connessione al database. Questa funzione accetta la risorsa di connessione restituita dalla funzione mysql_connect. Restituisce TRUE in caso di successo o FALSE in caso di fallimento.
bool mysql_close ( resource $link_identifier );
Se una risorsa non è specificata, l'ultimo database aperto viene chiuso.
Il nuovo modulo SimpleXML di PHP 5 rende l'analisi di un documento XML, beh, semplice. Trasforma un documento XML in un oggetto che fornisce un accesso strutturato all'XML. Per creare un oggetto SimpleXML da un documento XML memorizzato in una stringa, passare la stringa a simplexml_load_string (). Restituisce un oggetto SimpleXML.
Sì!
PHP fornisce una funzione speciale chiamata __construct () per definire un costruttore. Puoi passare tutti gli argomenti che desideri nella funzione di costruzione.
Come una funzione di costruzione, puoi definire una funzione distruttore usando la funzione __destruct (). Puoi rilasciare tutte le risorse con un distruttore.
La variabile $ this è una variabile speciale e si riferisce allo stesso oggetto, es. si.
Dopo aver definito la classe, puoi creare tutti gli oggetti che desideri di quel tipo di classe. Di seguito è riportato un esempio di come creare un oggetto utilizzando il nuovo operatore.
$physics = new Books;
$maths = new Books;
$chemistry = new Books;
Dopo aver creato i tuoi oggetti, sarai in grado di chiamare le funzioni membro relative a quell'oggetto. Una funzione membro sarà in grado di elaborare la variabile membro solo dell'oggetto correlato. L'esempio seguente mostra come impostare il titolo e i prezzi per i tre libri chiamando le funzioni membro.
$physics−>setTitle( "Physics for High School" );
$chemistry−>setTitle( "Advanced Chemistry" );
$maths−>setTitle( "Algebra" );
$physics−>setPrice( 10 );
$chemistry−>setPrice( 15 );
$maths−>setPrice( 7 );
Le definizioni di funzione nelle classi figlio sovrascrivono le definizioni con lo stesso nome nelle classi padre. In una classe figlia, possiamo modificare la definizione di una funzione ereditata dalla classe genitore.
Le interfacce sono definite per fornire nomi di funzioni comuni agli implementatori. Diversi implementatori possono implementare queste interfacce in base ai loro requisiti. Puoi dire che le interfacce sono skeltons implementate dagli sviluppatori.
PHP 5 introduce la parola chiave final, che impedisce alle classi figlie di sovrascrivere un metodo anteponendo alla definizione il prefisso final. Se la classe stessa viene definita finale, non può essere estesa.