NF1 - Llenguatge PHP (35h)

De wikiserver
La revisió el 17:16, 21 set 2014 per Asalinas (Discussió | contribucions) (Exercici 2: Primer projecte amb NetBeans)
Dreceres ràpides: navegació, cerca

Introducció llenguatges de programació del costat Servidor

Existeix una multitud de llenguatges concebuts o no per a Internet. Cadascun d'ells explota més a fons certes característiques que ho fan més o menys útils per desenvolupar diferents aplicacions. Un llenguatge del costat del servidor és aquell que s'executa en el servidor web, just abans que s'enviï la pàgina a través d'Internet al client. Les pàgines que s'executen en el servidor poden realitzar accessos a bases de dades, connexions en xarxa, i altres tasques per crear la pàgina final que veurà el client. D'altra banda, els llenguatges de costat client (entre els quals no només es troba l'HTML sinó també el Java i el Javascript els quals són simplement inclosos en el codi HTML) són aquells que poden ser directament executats pel navegador i no necessiten un pretractament.

Serverside.jpg

Els llenguatges de costat servidor més àmpliament utilitzats per al desenvolupament de pàgines dinàmiques són l'ASP, JSP, PERL i PHP.

ASP.NET

Llenguatge comercialitzat per Microsoft, i usat per programadors per desenvolupar entre altres funcions, llocs web. ASP.NET és el successor de la tecnologia ASP, va ser llançada al mercat mitjançant una estratègia de mercat denominada .NET. Es desenvolupat per resoldre les limitants que brindava el teu antecessor ASP. Per al desenvolupament d'ASP.NET es pot utilitzar C#, VB.NET o J#. Els arxius compten amb l'extensió (aspx). Per al seu funcionament de les pàgines es necessita tenir instal·lat IIS amb el Framework .Net. Microsft Windows 2003 inclou aquest framework, solament es necessitarà instal·lar-ho en versions anteriors. El llenguatge ASP consisteix en una sèrie de classes .NET utilitzades per crear aplicacions Web, tant del costat client (Web Form) com del costat servidor (Web Service). La integració de nadiva .NET Framework amb el sistema operatiu Windows Server 2003 fa que la seva execució sigui més estable i ràpida que altres llenguatges de programació.

Avantatges:

  • Completament orientat a objectes.
  • Controls d'usuari i personalitzats.
  • Divisió entre la capa d'aplicació o disseny i el codi.
  • Facilita el manteniment de grans aplicacions.
  • Increment de velocitat de resposta del servidor.
  • Major velocitat.
  • Major seguretat.

Desavantatges:

  • Major consum de recursos.
  • Tecnologia propietària.
  • Hostalatge de llocs web costosos.

JSP: Java Server Pages

És un llenguatge per a la creació de llocs web dinàmics, acrònim de Java Server Pages. Està orientat a desenvolupar pàgines web en Java. JSP és un llenguatge multiplataforma. JSP va ser desenvolupat per Sun Microsystems. Comparteix avantatges similars a les d'ASP.NET, desenvolupat per a la creació d'aplicacions web potents. Posseeix un motor de pàgines basat en els servlets de Java. Per al seu funcionament es necessita tenir instal·lat un servidor Tomcat.

Característiques

  • Codi separat de la lògica del programa.
  • Les pàgines són compilades en la primera petició.
  • Permet separar la part dinàmica de l'estàtica a les pàgines web.
  • Els arxius es troben amb l'extensió (jsp).
  • El codi JSP pot ser incrustat en codi HTML.

Avantatges:

  • Execució ràpida del servlets.
  • Crear pàgines del costat del servidor.
  • Multiplataforma.
  • Codi ben estructurat.
  • Integritat amb els mòduls de Java.
  • La part dinàmica està escrita en Java.

PERL (Practical Extraction and Report Language)

És un llenguatge de programació desenvolupat per Larry Wall (lwall at netlabs.com) inspirat en altres eines d'UNIX com són: sigueu, grep, awk, c-shell, per a l'administració de tasques pròpies de sistemes UNIX. No estableix cap filosofia de programació concreta. No es pot dir que sigui orientat a objectes, modular o estructurat encara que suporta directament tots aquests paradigmes; el seu punt fort són les labors de processament de textos i arxius. Llenguatge de programació basat en scripts portable a gairebé qualsevol plataforma. És molt utilitzat per escriure CGIs. Un dels seus elements més potents són les expressions regulars, que a partir de la seva versió en Perl han estat adoptades per altres llenguatges i plataformes com .NET o Javascript.

Avantatges

  • Es poden ajuntar diversos programes d'una forma senzilla per aconseguir una meta determinada. Els usuaris de Windows agrairan aquesta propietat ja que normalment emmalalteixen d'un bon llenguatge tipus “script”.
  • És relativament ràpid per a un llenguatge tipus “script”.
  • Està disponible en múltiples plataformes i sistemes operatius (UNIX, Linux i Windows). Un programa que s'escrigui tenint en compte la compatibilitat pot ser escrit en una plataforma i executat en una altra.
  • Hi ha una col·lecció enorme de mòduls que poden ser incorporats a qualsevol “script” de Perl. Estan disponibles en el CPAN (“Comprehensive Perl Arxivi Network”). En particular existeix una extensió per a càlcul numèric denominada PDL.
  • Perl és gratuït. Molt més que això, és “Programari Lliure”. Això vol dir que el codi font està disponible perquè qualsevol el pugui veure o modificar, i el que és més important, sempre ho estarà. Encara que mai pretenguis canviar el codi, és important disposar de la possibilitat de fer-ho, ja que sempre es podrà contractar a una tercera persona perquè ho modifiqui en el cas que hi hagi un error, i hauria de ser possible solucionar-ho.
  • Li atorga al programador molta llibertat perquè faci el programa com vulgui. Tal com diu l'eslògan de Perl “Hi ha més d'una forma de fer-ho”

PHP

PHP és l'acrònim de Hipertext Preprocesor. És un llenguatge de programació del costat del servidor gratuït i independent de plataforma, ràpid, amb una gran llibreria de funcions i molta documentació. Va ser creat originalment en 1994 per Rasmus Lerdorf, però com PHP està desenvolupat en política de codi obert, al llarg de la seva història ha tingut moltes contribucions d'altres desenvolupadors. El client solament rep una pàgina amb el codi HTML resultant de l'execució de la PHP. Com la pàgina resultant conté únicament codi HTML, és compatible amb tots els navegadors.

Avantatges

  • Molt fàcil d'aprendre.
  • Es caracteritza per ser un llenguatge molt ràpid.
  • Suporta en certa mesura l'orientació a objecte. Classes i herència.
  • És un llenguatge multiplataforma: Linux, Windows, entre uns altres.
  • Capacitat de connexió amb la majoria dels manejadores de base de dades: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre unes altres.
  • Capacitat d'expandir el seu potencial utilitzant mòduls.
  • Posseeix documentació a la seva pàgina oficial la qual inclou descripció i exemples de cadascuna de les seves funcions.
  • És lliure, per la qual cosa es presenta com una alternativa de fàcil accés per a tots.
  • Inclou gran quantitat de funcions.
  • No requereix definició de tipus de variables ni maneig detallat del baix nivell.

Preparació de l'entorn

Instal·lació de servidors d'aplicacions Web

Internet s’ha convertit en la principal eina d’intercanvi d’informació a la societat actual. La connexió dels ordinadors a les xarxes locals i aquestes xarxes a d’altres de grans dimensions ha possibilitat la comunicació global d’informació entre els ordinadors arreu del món. Per poder oferir serveis web, els servidors han de tenir instal·lats una sèrie de serveis. El servidor web permet l’enviament de continguts a altres ordinadors a través de la xarxa. Els preprocessadors d’hipertext (com PHP) permeten crear continguts web de forma dinàmica. Els servidors de bases de dades permeten emmagatzemar informació de forma estructurada que es pot fer servir per generar contingut web. Aquests serveis han de ser instal·lats i configurats correctament abans de començar a crear el contingut web dinàmic del nostre web.

Un servidor web és una peça de programari que respon a les peticions dels navegadors i lliura la pàgina per al navegador a través d’Internet. Quan es crida a una pàgina web per l’adreça –l’URL (uniform resource locator), per exemple, www.infomerce.es/index.html-, la comunicació entre el navegador i el servidor és possible gràcies a tres protocols:

  • TCP(Transmission Control Protocol, protocol de control de transmissió): és el responsable de fer que el missatge arribi a la destinació sense errors.
  • IP(Internet Protocol): és el responsable de fer que el missatge trobi el camí fins al servidor.
  • HTTP(Hypertext Transfer Protocol, protocol de transferència d’hipertext): és el protocol que ha indicat l’usuari a l’hora de demanar el recurs al servidor. La primera part d’un recurs URL correspon al protocol que utilitzaran client i servidor per intercanviar dades.

HTTP: comunicació entre servidor i client

Un cop establerta la connexió entra en joc el protocol HTTP: el navegador envia una petició al servidor en què sol·licita el recurs index.html. El servidor processa aquesta petició i retorna la pàgina sol·licitada al navegador, que interpreta les etiquetes HTML i la presenta a l’usuari.

Peticiohttp.jpg

La informació que el client envia al servidor en la petició és la següent:

  • El mètode HTTP: l’acció que s’ha de fer.
  • El recurs a què s’ha d’accedir (una part de l’URL).
  • La informació que l’usuari envia al servidor.

La informació que el servidor envia en la resposta té dues parts ben diferenciades:

  • La capçalera: conté el codi que indica si la petició s’ha complert. També conté el tipus de contingut que enviarà al client.
  • El contingut: (text, codi HTML, imatges, etc.) del recurs demanat.

Exercici 1: Preparació M.V. amb Ubuntu i PHP

Es tracta d'importar una M.V. amb Ubuntu Server. Aquesta màquina virtual la utilitzarem al llarg del curs per desenvolupar programes amb el llenguatge PHP. LA M.V. ha de tenir les següents característiques:

  • 512 MB de Ram
  • Targeta mode Pont (Has de reinicialitzar la @MAC i esborrar el fitxer: /etc/udev/rules.d/70-persistent-net.rules)
  • Configura la @IP.

Instal·la el següent programari:

  • openssh-server (per permetre comunicacions remotes)
  • Servidor Web apache2
  • Servidor PHP

Exercici 2: Primer projecte amb NetBeans

Crea un projecte PHP amb NetBeans. Fes que automàticament guardi tots els fitxers a la màquina virtual creada al apartat anterior. Crea una pàgina d'exemple i comprova que funciona. La pàgina d'exemple pot ser la següent:

<!DOCTYPE html>
<html>
     	<head>
	</head>
	<body>
        <p>
          <?php
            echo "Primera Pàgina amb PHP"; 
          ?>
        </p>
	</body>
</html>

Bibliografia / Webgrafia