PHP

De Viquipèdia
Dreceres ràpides: navegació, cerca
Logo oficial de 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[modifica | modifica el codi]

Va sorgir als voltants del 1994 com un conjunt d'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

Està previst el llançament en breu de la branca 6 de PHP. Quan es llanci aquesta nova versió quedaran solament dues branques actives en desenvolupament (PHP 5 i 6), doncs es va abandonar el desenvolupament i suport de PHP 4 el 13 de juliol de 2007.

Les diferències que trobarem enfront de PHP 5. són:

  • Suportarà 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.

Característiques[modifica | modifica el codi]

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 una codi HTML com a sortida. El codi HTML generat pel codi HTML 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[modifica | modifica el codi]

  • É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 als dada s, la lògica de control i la interfície d'usuari en tres components independents (veure més avall Frameworks en PHP ).

Inconvenients[modifica | modifica el codi]

  • La ofuscació de codi és l'única manera d'ocultar els fonts.

Hola Món[modifica | modifica el codi]

Pàgina Hola món amb PHP

En el següent exemple es mostra el típic "hola món":

<?php
echo "Hola Món";
?>

Sintaxi[modifica | modifica el codi]

Per tal que l'interpret pugui localitzar quins fragments de codi ha de traduir, PHP utilitza diferents etiquetes:

  • <?PHP ?> Etiquetatge llarg.
  • <?  ?> Etiquetatge curt, necesita que estigui configurat al fitxer php.ini
  • <%php %> Disponible a partir de la versió 3.0.4.
  • <script language="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.

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[modifica | modifica el codi]

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: (veure apartat de classes amb PHP)

Operadors[modifica | modifica el codi]

PHP utilitza els següents operadors:

  • Operadors aritmètics:
  • Operadors de comparació:
  • Operadors lògics:

Exemples[modifica | modifica el codi]

 <?
 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[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. Lerdorf, Rasmus. «Announce: Personal Home Page Tools (PHP Tools)», 8 de juny de 1995. [Consulta: 2006-09-17].

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: PHP Modifica l'enllaç a Wikidata
Wikibooks A Viquillibres hi ha llibres de contingut lliure i altres textos relatius a PHP