PHP
PHP és un llenguatge de programació interpretat que s'utilitza per a generar pàgines web de forma dinàmica. S'executa al cantó del servidor, per aquest motiu al navegador web ja l'hi arriba la pàgina en format HTML, no podent visualitzar-ne el codi php. Tot i que és menys popular, també pot utilitzar-se per generar interfícies de comandes i aplicacions executables amb interfície gràfica. Disposa de versions tant per a Windows com per a GNU/Linux, així com d'altres.
PHP es distribueix sota la llicència PHP, que la Free Software Foundation qualifica com a programari lliure. Les sigles són un acrònim recursiu de PHP: Hipertext Preprocessor, tot i que originalment eren les sigles de Personal Home Page Tools.
Història
Va sorgir als voltants del 1994 com un conjunt de scripts escrits per Rasmus Lerdof en Perl. El 8 de juny de 1995 Lerdorf va alliberar PHP per tal d'accelerar la localització d'errors i millorar-ne el codi.[1] Aquest versió es va anomenar PHP version 2, aquesta versió ja disposava de les funcionalitats bàsiques que PHP té actualment.
PHP 3
Dos programadors israelís del Technion, Zeev Suraski i Andi Gutmans, van reescriure l'analitzador sintàctic (parser en anglès) l'any 1997 i van crear la base del PHP3, canviant el nom del llenguatge a la forma actual. Immediatament van començar experimentacions públiques de PHP3 i va ser publicat oficialment el juny del 1998.
Per a 1999, Suraski i Gutmans van reescriure el codi de PHP, produint el que avui es coneix com a motor Zend. També van fundar Zend Technologies en Ramat Gan, Israel.
PHP 4
Al maig de 2000 PHP 4 va ser llançat sota el poder del motor Zend Engine 1.0. El dia 13 de juliol de 2007 es va anunciar la suspensió del suport i desenvolupament de la versió 4 de PHP, malgrat l'anunciat s'ha alliberat una nova versió amb millores de seguretat, la 4.4.8 publicada el 13 de gener del 2008 i posteriorment la versió 4.4.9 publicada el 7 d'agost de 2008. Segons aquesta notícia es donarà suport a fallades crítiques fins al 2008-08-09,...
PHP 5
El 13 de juliol de 2004, va ser llançat PHP 5, utilitzant el motor Zend Engine 2.0 (o Zend Engine 2). La versió més recent de PHP és la 5.3.3 (22 de juliol de 2010), que inclou tots els avantatges que proveeix el nou Zend Engine 2 com:
- Millor suport per a la Programació Orientada a Objectes, que en versions anteriors era extremadament rudimentari.
- Millores de rendiment.
- Millor suport per MySQL amb extensió completament reescrita.
- Millor suport a XML (XPath, DOM, etc.).
- Suport natiu per SQLite.
- Suport integrat per SOAP.
- Iteradores de dades.
- Maneig d'excepcions.
- Millores amb la implementació amb Oracle.
Encara se segueixen publicant versions de la branca 5.2.X, sent publicada la versió 5.2.14 el 22 de Julio de 2010, encara que la majoria són actualitzacions de seguretat
PHP 6
La branca 6 de PHP no va arribar mai al seu llançament.
Les diferències que havia de tenir enfront de PHP 5 eren:
- Suport Unicode;
- neteja de funcionalitats obsoletes com register_globals, safe_mode, etc.;
- PECL i eliminació de suport ereg;
- millores en orientació a objectes;
- inclusió en el nucli de xmlReader i xmlWriter així com Fileinfo;
- return per referència retornarà un error;
- es retira el suport de les biblioteques FreeType1 i GD21;
- etc.
PHP 7
Així, abandonada la branca 6, el 3 de desembre de 2015 es va llançar el PHP 7.
El PHP 7.0.0 va aparèixer amb una nova versió del motor Zend, nombroses millores i noves característiques com:
- rendiment millorat: PHP 7 és fins a dues vegades més ràpid que PHP 5.6
- es redueix significativament l'ús de memòria
- arbre de sintaxi d'abstractes
- suport consistent de 64 bits
- jerarquia d'excepcions millorada
- molts errors fatals convertits en excepcions
- generador de nombres aleatoris segur
- SAPIs i extensions antigues i no compatibles eliminats
- operador nul de coalescència
- declaracions de tipus retorn i escalars
- classes anònimes
Característiques
PHP està extremadament modularitzat. Amb el tipus de dades, la sintaxi i les funcions s'assembla molt al llenguatge de programació C. Des de la versió 5, inclou un major suport a l'orientació a objectes, també s'assembla al C++.
PHP es pot incloure dins del codi HTML, indicant-ho a l'intèrpret mitjançant les etiquetes <? i ?> o <?php i ?>. Quan el llenguatge s'estigui interpretant, s'executarà el codi que està entre les etiquetes, generant un codi HTML com a sortida. El codi HTML generat pel codi PHP es barrejarà amb la pàgina HTML on hagués estat inclòs.
PHP, com a llenguatge nascut de i per Internet, té moltes funcions de xarxa, de codi web, i de bases de dades. Concretament, per a bases de dades Oracle, Sybase, PostgreSQL, Interbase, MySQL, SQLite, MSSQL, etcètera. Molts protocols de xarxa com MAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-RPC i SOAP. Com és freqüent als llenguatges de programació, mitjançant biblioteques de tercers es poden ampliar les possibilitats de PHP.
La gran semblança que té PHP amb els llenguatges més comuns de programació estructurada, com C i Perl, permeten a la majoria dels programadors crear aplicacions complexes amb una corba d'aprenentatge molt curta. També els permet involucrar-se amb aplicacions de contingut dinàmic sense haver d'aprendre tot un nou grup de funcions.
La Viquipèdia funciona gràcies a un programari anomenat MediaWiki escrit amb PHP i que utilitza base de dades MySQL.
Principis bàsics per a la programació en PHP, el popular llenguatge del costat del servidor. Manual assequible per a no programadors que senti els fonaments bàsics d'aquest llenguatge. Continuació lògica del manual de pàgines dinàmiques.
Avantatges
- És un llenguatge multiplataforma.
- Completament orientat al desenvolupament d'aplicacions web dinàmiques amb accés a informació emmagatzemada en una base de dades.
- El codi font escrit en PHP és invisible al navegador i el client, ja que és el servidor el que s'encarrega d'executar el codi i enviar el seu resultat HTML al navegador. Això fa que la programació en PHP sigui segura i de confiança.
- Capacitat de connexió amb la majoria dels motors de base de dades que s'utilitzen en l'actualitat, destaca la seva connectivitat amb MySQL i PostgreSQL.
- Capacitat d'expandir el seu potencial utilitzant l'enorme quantitat de mòduls (anomenats ext's o extensions).
- Té una àmplia documentació en la seva pàgina oficial (www.php.net), entre la qual es destaca que totes les funcions del sistema estan explicades i exemplificades en un únic fitxer d'ajuda.
- És lliure, pel que es presenta com una alternativa de fàcil accés per a tothom.
- Permet aplicar tècniques de programació orientada a objectes.
- Biblioteca nativa de funcions summament àmplia i inclosa.
- No requereix definició de tipus de variables encara que els seus variables es poden avaluar també pel tipus que estiguin fent servir en temps d'execució.
- Té maneig d'excepcions (des de PHP5).
- Si bé PHP no obliga a qui l'usa a seguir una determinada metodologia a l'hora de programar (molts altres llenguatges tampoc ho fan), tot i estar dirigit a alguna en particular, el programador pot aplicar en el seu treball qualsevol tècnica de programació i / o desenvolupament que li permeti escriure codi ordenat, estructurat i manejable. Un exemple d'això són els desenvolupaments que en PHP s'han fet del patró de disseny «Model-Vista-Controlador» (o MVC), que permeten separar el tractament i accés a les dades, la lògica de control i la interfície d'usuari en tres components independents.
Inconvenients
- L'ofuscació de codi és l'única manera d'ocultar els fonts.
Hola Món

En el següent exemple es mostra el típic "hola món":
<?php
echo "Hola Món";
?>
Sintaxi
Per tal que l'interpret pugui localitzar quins fragments de codi ha de traduir, PHP utilitza diferents etiquetes:
- Etiquetatge llarg.
<?PHP ?>
- Etiquetatge curt, necessita que estigui configurat al fitxer php.ini
<? ?>
- Disponible a partir de la versió 3.0.4.
<%php %>
- Aconsellat quan s'utilitza Front Page, degut al risc que hi ha en utilitzar les altres etiquetes i que l'aplicació no les comprengui i les esborri.
<script language="php">
Els fitxers tant amb codi en PHP com en HTML i PHP podem utilitzar diferents extensions com phtml, php, php4, etc.
Totes les instruccions han d'acabar amb punt i coma ";", menys l'última abans de tancar l'etiqueta, tot i que aquest formalisme no és necessari.
PHP accepta els següents comentaris:
//Comentari d'una línia
#Comentari també d'una línia
/*Comentari de diverses línies*/
Variables
En PHP les variables comencen amb el símbol dòlar ($) i el segon caràcter ha de ser diferent d'un número:
$1variable = 1 //variable INCORRECTA $_1variable = 2 //variable CORRECTA
Una variable pot ser de qualsevol tipus, perquè en PHP no existeix la declaració de variables. Cada variable serà d'un tipus o un altre segons la informació que contingui en aquell moment. PHP treballa amb els següents tipus:
//Enters: $sencer = 123;
//Reals: $real = 1.23;
//Cadenes: $cadena = "Hola";
//Taules: $taula[0]=123; $taula[1]=1.23; $taula[2]="Hola";
//Objectes: (vegeu apartat de classes amb PHP)
Operadors
PHP utilitza els següents operadors:
- Operadors aritmètics:
- Operadors de comparació:
- Operadors lògics:
Exemples
<?
echo "hola món";
?>
<?
$text=str_split("hola món");
$llarg=strlen($text);
for ($i=0;$i<$llarg;$i++){
echo $text[$i];
}
?>
<?
//comentari suma
function suma($a,$b){
$c=$a+$b;
return $c;
}
/*
comentari resta
*/
function resta($a,$b){
$c=$a-$b;
return $c;
}
$a=1;
$b=-5;
suma($a,$b);
echo $c;
resta($a,$b);
echo $c;
?>
Exemple de classe en PHP
class SQL
{
function connectar($usuari, $ip, $db, $contra)
{
@mysql_connect($ip, $usuari, $contra);
@mysql_select_db($db);
}
function Query_SQL($query='')
{
@mysql_query($query);
}
}
Adjuntar un fitxer a un php
require("include.php");
L'include.php es pot substituir per qualsevol altre php
Aplicacions desenvolupades amb PHP
Referències
- ↑ Lerdorf, Rasmus. «Announce: Personal Home Page Tools (PHP Tools)», 08-06-1995. [Consulta: 17 setembre 2006].
Vegeu també
Enllaços externs
- Pàgina oficial sobre PHP i el seu desenvolupament. Inclou la seva descàrrega i manuals
- PHP Cookbook - Un manual en línia sobre el PHP (anglès)
- CCCPHP Consell PHP dels Països Catalans. Grup de programadors i programadores PHP.
- PHP Barcelona Portal del grup de programadors PHP de Barcelona.