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

De Cacauet Wiki
Salta a la navegació Salta a la cerca
m (punt i coma)
 
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren)
Línia 7: Línia 7:
  
  
== Arxius PHP i Apache ==
+
== Instal·lació d'Apache i arxius PHP ==
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'''.
+
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 i Linux ===
 +
En Ubuntu o Debian podem instal·lar els paquets necessaris amb:
 +
$ sudo apt-get install apache2 php5 mysql-server phpmyadmin
  
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".
 
*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.
 
*No convé posar permisos 777 a la carpeta /var/www per motius de seguretat.
Línia 32: Línia 35:
 
</IfModule>
 
</IfModule>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
=== Apache i Windows ===
 +
Es recomana instal·lar el WAMPP o XAMPP for Windows. http://www.apachefriends.org/en/xampp-windows.html
 +
 +
Aquest paquet ho porta tot integrat: Apache, PHP5 i MySQL. Els arxius *.php els haureu de ficar al directori htdocs (del Apache).
  
  
 
Però anem d'una vegada al codi... :)
 
Però anem d'una vegada al codi... :)
 
  
 
== Primer arxiu PHP ==
 
== Primer arxiu PHP ==
Línia 65: Línia 72:
 
</HTML>
 
</HTML>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
== Comentaris ==
 +
Cal distingir els comentaris en HTML dels PHP. Veiem els dos exemples:
 +
 +
<syntaxhighlight lang="php">
 +
<HTML>
 +
<BODY>
 +
  <H1>Primer arxiu PHP</H1> <!-- això és un comentari HTML -->
 +
  <?php
 +
      // Un comentari d'una línia: aquesta és la nostra primera líniea de codi PHP
 +
      echo "<P>El primer paràgraf en PHP: utilitzem la instrucció 'echo'.</P>";
 +
     
 +
      /* Amb barra i asterisc podem fer
 +
        comentaris de diverses línies.
 +
        Es fan igual que en C/C++ */
 +
  ?>
 +
</BODY>
 +
</HTML>
 +
</syntaxhighlight>
 +
 +
Com podeu veure els comentaris en PHP poden ser:
 +
*d'una sola línia amb //
 +
*de vàries línies amb /* ...comentari... */
 +
  
 
== 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).
*Quin resultat dóna?
+
*Quin resultat dóna? '''Explica el que apareix en un comentari de vàries línies dintre del mateix arxiu.'''
 +
 
 +
Aquesta instrucció és molt típica per testejar el sistema i veure si s'executa el PHP en l'Apache.

Revisió de 18:04, 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


Instal·lació d'Apache i arxius PHP[modifica]

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 i Linux[modifica]

En Ubuntu o Debian podem instal·lar els paquets necessaris amb:

$ sudo apt-get install apache2 php5 mysql-server phpmyadmin
  • 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>

Apache i Windows[modifica]

Es recomana instal·lar el WAMPP o XAMPP for Windows. http://www.apachefriends.org/en/xampp-windows.html

Aquest paquet ho porta tot integrat: Apache, PHP5 i MySQL. Els arxius *.php els haureu de ficar al directori htdocs (del Apache).


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

Primer arxiu PHP[modifica]

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>


Comentaris[modifica]

Cal distingir els comentaris en HTML dels PHP. Veiem els dos exemples:

<HTML>
<BODY>
   <H1>Primer arxiu PHP</H1> <!-- això és un comentari HTML -->
   <?php
      // Un comentari d'una línia: aquesta és la nostra primera líniea de codi PHP
      echo "<P>El primer paràgraf en PHP: utilitzem la instrucció 'echo'.</P>";
      
      /* Amb barra i asterisc podem fer
         comentaris de diverses línies.
         Es fan igual que en C/C++ */
   ?>
</BODY>
</HTML>

Com podeu veure els comentaris en PHP poden ser:

  • d'una sola línia amb //
  • de vàries línies amb /* ...comentari... */


Exercici[modifica]

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? Explica el que apareix en un comentari de vàries línies dintre del mateix arxiu.

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