Curs de programació en PHP – segona part

La primera part de l’article és aquí.

Programar és donar les instruccions a l’ordinador sobre què ha de fer i com s’ha de comportar.
Ha de tenir en compte tots els possibles escenaris i totes les possibilitat: controlar les accions de l’usuari com si prem una tecla, com coses que passen al sistema, com ara que no s’hagi acabat l’espai en disc abans d’escriure-hi un arxiu.
Això vol dir que el programador o la programadora haurà d’estar en tot i haurà de pensar en totes les possibilitats. Altrament en algun moment alguna cosa fallarà.
Els ordinadors no saben respondre a coses per a les que no els hem preparat, només per al que prèviament hem programat.

Com és un programa?

Un programa clàssic és un seguit d’instruccions seqüencials, és a dir seguides, com en un llibre, amb iteracions o bucles (per exemple quan el Bart Simpson escriu a la pissarra 100 vegades: no hackejaré la web de l’escola, un programa el que faria és: repeteix 100 vegades: escriu “no hackejaré la web de l’escola”) i condicionals (si passa això fes allò, si no fes això altre).

Un programa és molt similar a un llibre només que a aquells llibres que es van posar de moda quan jo era un bailet que es deien escull la teva pròpia aventura i en que tu podies triar: si esculls enfrontar-te als lladres i salvar a la noia passa a la plana 100, si escull avisar la policia a la 127).

La nostra feina és redactar el llibre (el programa) per a que després el lector (l’usuari) experimenti l’aventura (el programa).

Ara ja t’has instal·lat el WAMP o per separat el servidor web Apache, el PHP i el MySQL, la qüestió és que tens el servidor Web llest per a executar programes PHP.

Si no heu indicat a WAMP que s’iniciï quan arrenqui windows, llavors l’haureu d’executar manualment des del menú de programes.

Llavors us apareixerà una icona a la barra lateral dreta de windows (tray bar), al costat de l’hora. Des d’allí podreu parar, o reiniciar alguns serveis.

Reiniciar el servidor web Apache serà necessari quan canviem un paràmetre de configuració per a que Apache carregui la nova configuració i s’adoni dels canvis.

WAMP 2.1 incorpora el següent programari:

– Apache 2.2.17
– Php 5.3.3
– Mysql 5.1.53 (la versió de 64 bits)
– Mysql 5.5.8 (la versió de 32 bits)
– PhpMyadmin 3.2.0.1
– SQLBuddy 1.3.2

Ara és un bon moment per a explicar com funciona el procés de demanar una plana web a un servidor web.

Les planes web que visitem diàriament, són allotjades en servidors.

Quan nosaltres escrivim al nostre navegador una url, per exemple: http://www.php.net el navegador primer ha de descobrir quina és l’adreça ip d’aquesta plana, és a dir, saber quin servidor li entregarà aquesta plana.

Podem saber quina adreça ip hi ha darrera de www.php.net obrint una finestra ms-dos (a windows) o una finestra de terminal (a Linux i Mac Os X) i teclejant:

ping www.php.net

El número 69.147.83.197 és l’adreça ip.

L’adreça ip és un número únic, i quan un ordinador es vol comunicar amb una adreça ip, tot d’aparells (enrutadors o routers en anglès) des del router ADSL que tenim a casa, fins al que tenen al lloc on és el servidor, saben com fer arribar la informació al servidor, i de tornada cap al nostre ordinador.

Un cop el navegador sap que l’adreça de php.net és 69.147.83.197, llavors s’hi connecta, i demana la plana web que volem.

Hi ha uns servidors que fan la traducció (resolució) del nom www.php.net a adreça ip. Aquests servidors es diuen servidors DNS.

Però una cosa important que us vull comentar és que abans de fer la consulta als servidors DNS l’ordinador mira a un fitxer especial, per si de cas nosaltres volem especificar manualment que un nom d’adreça es resolgui amb una adreça ip concreta.

Això ens serà molt útil més endavant quan programem.

Aquest arxiu es diu hosts. I es troba a les següents rutes:

En el cas de Linux i unix POSIX:

/etc/hosts

En el cas de Mac Os X (10.2 i superiors):

/private/etc/hosts

En el cas de windows l’arxiu es diu:

C:\Windows\system32\drivers\etc\hosts

És important saber que hi ha un nom especial que es diu localhost.

L’adreça localhost es resol com Ip 127.0.0.1

És molt important saber que 127.0.0.1 és una adreça ip especial, que sempre apunta al nostre propi ordinador.

Així si ens connectem des del navegador a http://localhost o http://127.0.0.1 ambdues accions el que faran és demanar una plana al servidor web Apache que tenim instal·lat al nostre ordinador.

En el cas del meu arxiu /etc/hosts tinc definit localhost com 127.0.0.1 i una entrada addicional que es diu dev.codic.cat també a la 127.0.0.1. D'aquesta manera desenvolupo sobre el bloc en local i jo accedeixo amb el navegador posant dev.codic.cat que seguint el que diu l'arxiu hosts resol 127.0.0.1 i per tant va al meu ordinador.

Escriure http://localhost i http://localhost/ té el mateix resultat ja que si no diem res, la plana per defecte que es demana és /

Normalment si es demana la plana / el servidor web envia l’arxiu index.html o index.htm o index.php o default.asp en el cas de servidor IIS de microsoft.

En tot cas això es pot canviar als arxius de configuració d’Apache o IIS (servidor web de microsoft).

 

Us ensenyo a programar en Web perquè la majoria de vegades que programem en PHP ho farem per a Web, i actualment quasi totes les feines són per a Web.

Les planes web no deixen de ser arxius, com llibres, i els navegadors web les interpreten i pinten les coses que li diem que pintin.

Per exemple obriu l’editor de textes, l’eclipse, o qualsevol programa amb el que volgueu programar i copieu aquest codi:

<html>
<head>
<title>La nostra primera plana Web</title>
</head>
<body>
Hola, aquesta és la primera plana web!.<br />
Això és <b>negreta</b>.<br />
Això és <font color="#ff2222">vermell</font>.<br />
Això és un <a href="http://www.codic.cat">hipervincle a Codi Ç</a>.
</body>
</html>

Com podeu observar si executeu plana.html és a dir, si feu funcionar aquest arxiu (això es fa fent doble clic sobre l’arxiu o dient-li al navegador que obri l’arxiu)

veureu que tenim una plana web amb el títol: La nostra primera plana web i on apareix el text que hi ha dins de <body>…</body>, que després de <br /> es genera un salt a la linia següent, que el que hi ha dins de <b>…</b> surt en negreta, i que el que hi ha entre <a href=”http://www.codic.cat”>….</a> és un enllaç cap a http://www.codic.cat
<font color=”#ff2222″>…</font> el que fa és que el text que hi ha entre <font…> i </font> estigui en el color ff2222 que vol dir: intensitat de vermell FF, intensitat de verd 22 i intensitat de blau 22. Aquests són valors exadecimals, bàsicament vol dir que hi haurà a tope de vermell, i una miqueta verd i una miqueta de blau.

Els espais que hi ha que fan que les comandes comencin més cap a la dreta són per a facilitar la lectura del codi, i el fet de programar amb aquests espais es diu indentar.
Quan obrim un bloc, el codi que va dins del bloc l’indentem i així es veu de manera molt clara què forma part del bloc.
La feina d’aprendre HTML l’haureu de fer vosaltres, però és quelcom molt més fàcil que aprendre a programar en PHP.

De tota manera aquí hi ha uns quants exemples amb els que aprendreu HTML a tota velocitat.

Ara anem introduir PHP dins la plana web que hem generat.
Editem l’arxiu plana.html i el deixem així:

<html>
    <head>
        <title>La nostra segona plana Web</title>
    </head>
<body>
        Hola, aquesta és la primera plana web!.
<?php

/* Definim els colors */

$st_conjunt_de_colors = array("vermell"--> "#ff2222",
                              "blau" => "#2222ff",
                              "verd" => "#22ff22",
                              "negre" => "#000000",
                              "gris" => "#777777");

?>
        Això és <strong>negreta</strong>.<br />
<?php
/* Comença el bucle */
foreach($st_conjunt_de_colors as $s_clau-->$s_valor_del_color){
    echo "Això és <span style=\"color: #00de00;\">$s_clau</span>.<br />";
}
?>
Això és un hipervincle a Codi Ç.
</html>
</body>
</html>

Quantes coses noves en unes poques línies!!.
El que hi ha entre /* i */ és un comentari de PHP (remark en anglès).
Serveix per a fer anotacions nostres i PHP ho ignora.

La linia que comença per $st_conjunt_de_colors = array és el que anomenem un array o una matriu.
Un array és una llista que té una correspondència de clau i de valor associat a la clau.
El valor d’una clau pot ser un altre array.

Una de les grans potències que té PHP és la gran quantitat de funcions d’arrais que porta de sèrie.

El que estem definint són claus amb el nom dels colors, i els associem el valor el seu color, i després fem un bucle que recorre l’array i imprimim en format html la clau com a text visible i el valor associat com a color dins del tag d’html font.

La gràcia del PHP és que es pot barrejar amb el codi html i pot generar codi html, i així és capaç de retornar planes dinàmiques. El resultat final és el que s’envia al navegador que veuen les persones que naveguen per la nostra web.

Bé, tornant al nostre exemple, no funcionarà. No funcionarà perquè cal que anomenem l’extensió de .html a .php i que la executi el servidor web.

Això s’aconsegueix posant l’arxiu a la carpeta del nostre servidor web apache.

Si empres WAMP per a windows la ruta per defecte és C:\wamp\bin\http i per a Linux la ruta per defecta (documentRoot) per als arxius que serveix apache és: /var/www

Per a instal·lar apache en Linux feu:

sudo apt-get install apache2

Adreça curta Twitter: http://wp.me/pzeab-1Lp

Català-Catalunya English-USA Traduir a l'Anglès. Translate to English Compartir: La TafaneraIndependènciaCatosfera|FacebookTwitterFriend Feed|googleDeliciousDiggTechnoratiredditmixxyahoolivestumbleuponsimpy

Tags: , , , , , , ,

2.089 visualitzacions - versió en PDF

Comments are closed.