Diferència entre revisions de la pàgina «PHP introducció»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 67: Línia 67:
  
 
== Exercici ==
 
== Exercici ==
Fes un arxiu .php utiltizant la comanda echo per fer:
+
Fes un arxiu .php '''utiltizant la comanda echo''' per fer:
 
*títol (H1), subtítol (H2) i un paràgraf (P).
 
*títol (H1), subtítol (H2) i un paràgraf (P).
 
Afegeix al final del codi la instrucció '''phpinfo();''' (en una línia a part).
 
Afegeix al final del codi la instrucció '''phpinfo();''' (en una línia a part).

Revisió del 16:56, 8 abr 2011

PHP és un llenguatge per generar codi HTML. De fet, les sigles "PHP" signifiquen "PHP: Hypertext Preprocessor" (definició recursiva).

PHP s'executa en el servidor, mai al client.

Web applications.png


Arxius PHP i Apache

La manera més comuna de treballar és amb Apache i arxius .php enlloc dels clàssics .htm o .html. Un arxiu .php de fet sol combinar HTML i PHP. Apache executa l'arxiu .php i el resultat (totalment HTML) serà enviat al client.

Treballant amb Apache

  • Si treballeu amb Apache al directori /var/www potser us serà còmode canviar el propietari d'aquesta carpeta al vostre usuari (amb chown). Així podreu escriure sense problemes i generar els vostres arxius .php allà mateix sense haver de fer "sudo".
  • No convé posar permisos 777 a la carpeta /var/www per motius de seguretat.
  • En Ubuntu, si instal·leu l'Apache amb el mòdul userdir (utilitzant el vostre directori ~/public_html d'usuari enlloc del /var/www) tingueu cura d'activar el PHP ja que per defecte està deshabilitat. Cal modificar l'arxiu /etc/apache2/mods-available/php5.conf i comentar amb "#" tota la secció <IfModule mod_userdir.c>. Us ha de quedar algo així:
<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
	SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
	SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>


Però anem d'una vegada al codi... :)


Primer arxiu PHP

Solem tenir pàgines HTML on insertem codi PHP. Per exemple:

<HTML>
<BODY>
   <H1>Primer arxiu PHP</H1>
   <?php
      echo "<P>El primer paràgraf en PHP: utilitzem la instrucció 'echo'.</P>";
   ?>
</BODY>
</HTML>

Fixeu-vos en diverses coses:

  • Per incrustar codi PHP cal obrir amb "<?php" i finalment tancar amb "?>".
  • La instrucció echo (en color verd oliva) imprimeix text a l'arxiu que rep el client (el text va entre cometes dobles).
  • Les instruccions acaben amb punt i coma ";" (és molt important!)
  • Hem posat la segona paraula 'echo' entre cometes simples perquè si posem cometes dobles liaríem la sintaxi.

El client MAI REP CODI PHP. El resultat que ha de rebre el client és TOT HTML:

<HTML>
<BODY>
   <H1>Primer arxiu PHP</H1>
   <P>El primer paràgraf en PHP: utilitzem la instrucció 'echo'.</P>
</BODY>
</HTML>

Exercici

Fes un arxiu .php utiltizant la comanda echo per fer:

  • títol (H1), subtítol (H2) i un paràgraf (P).

Afegeix al final del codi la instrucció phpinfo(); (en una línia a part).

  • Quin resultat dóna?

Aquesta instrucció és molt típica per testejar el sistema i veure si s'executa el PHP en l'Apache.