Programación PHP

Anuncio
CEFIRE: Curso Administración de APACHE
Práctica introducción al PHP
PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source"
interpretado de alto nivel, especialmente pensado para desarrollos web y el cual puede
ser embebido en páginas HTML. La mayoría de su sintaxis es similar a C, Java y Perl y
es fácil de aprender. La meta de este lenguaje es permitir escribir a los creadores de
páginas web, páginas dinámicas de una manera rápida y fácil, aunque se pueda hacer
mucho más con PHP.
PHP es un lenguaje "open source" interpretado de alto nivel embebido en páginas
HTML y ejecutado en el servidor.
<html>
<head>
<title>Ejemplo inicial</title>
</head>
<body>
<?php
echo "Hola Mundo";
?>
</body>
</html>
Podemos ver que no es lo mismo que un script escrito en otro lenguaje de programación
como Perl o C -- En vez de escribir un programa con muchos comandos para crear una
salida en HTML, escribimos el código HTML con cierto código PHP embebido
(introducido) en el mismo, que producirá cierta salida (en nuestro ejemplo, producir un
texto). El código PHP se incluye entre etiquetas especiales de comienzo y final que nos
permitirán entrar y salir del modo PHP.
Lo que distingue a PHP de la tecnología Javascript, la cual se ejecuta en la máquina
cliente, es que el código PHP es ejecutado en el servidor. Si tuviesemos un script similar
al de nuestro ejemplo en nuestro servidor, el cliente sólamente recibiría el resultado de
su ejecución en el servidor, sin ninguna posibilidad de determinar que código ha
producido el resultado recibido. El servidor web puede ser incluso configurado para que
procese todos los ficheros HTML con PHP.
Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su
vez, ofrece muchas caracteristicas avanzadas para los programadores profesionales. No
tengais miedo de leer la larga lista de caracteristicas de PHP, en poco tiempo podreis
empezar a escribir vuestros primeros scripts.
Ejemplos Sencillos sobre Apache 2.0.X
Ejemplo 1: Formas de entrar y salir de HTML
<HTML><h2>Forma estándar (recomendable) </h2></HTML>
<?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>
<HTML><h2>Segunda forma (configurable php.ini)</h2></HTML>
<? echo ("this is the simplest, an SGML processing instruction\n"); ?>
<?= expression ?> This is a shortcut for "<? echo expression ?>"
<HTML><h2>Tercera via </h2></HTML>
<script language="php">
echo ("some editors (like FrontPage) don't
like processing instructions");
</script>
<HTML><h2>Cuarta vía (configurable php.ini)</h2></HTML>
<% echo ("You may optionally use ASP-style tags"); %>
<%= $variable; # This is a shortcut for "<% echo . . ." %>
Ejemplo 2: Variables en PHP
<?php
$bool = TRUE; // a boolean
$str = "Cadena de caracteres"; // a string
$int = 12; // an integer
echo gettype($bool); // imprime el tipo de $bool: "boolean"
echo "<br />\n";
echo gettype($str); // imprime el tipo de $str: "string"
echo "<br />\n";
// incrementa el entero en 4 si es entero
if (is_int($int)) {
$int += 4;
}
// Si $bool es string, imprime su valor
// (en caso contrario no imprime nada)
if (is_string($str)) {
echo "<br />\n";
echo "String: $str";
}
?>
Ejemplo 3: Funciones
<?
function foo () {
echo "Entrando en la función foo...";
?><h2> texto escrito dentro de la función foo...</h2><?
echo "Saliendo de foo.";
}
?>
<HTML><HEAD>
<title>Página ejemplo 1 de php</title>
</HEAD>
<BODY>
<h2>Texto escrito en la parte HTML </h2>
<? foo(); ?>
</BODY>
</HTML>
Ejemplo 4: Funciones con parámetros
<?php
function makecoffee ($type = "cappuccino")
{
return "Estoy tomando un cafe $type.\n";
}
echo makecoffee ();
echo "<br>";
echo makecoffee ("espresso");
?>
Ejemplo 5: Estructuras de Control
<?php
$a = 5;
$b = 3;
if ($a > $b) {
print "a es mayor que b";
} else {
print "a es más pequeño que b";
}
?>
Ejemplo 6: Formateo y variables
<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>
Ejemplo 7: Arrays
<?php
class foo
{
var $foo;
var $bar;
function foo()
{
$this->foo = 'dentro de PHP';
$this->bar = array('Elemento1', 'Elemento2', 'Elemento3');
}
}
$foo = new foo();
$name = 'Pep';
echo <<<EOT
Mi nombre es "$name", y estoy aprendiendo a utilizar fuciones $foo->foo.
Ahora, voy a imprimir un elemento de un array: {$foo->bar[1]}.
Para imprimir caracteres especiales: 'A': \x41
EOT;
?>
<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?>
Ejemplo 8: Forumularios
<HEAD>
<title>Página ejemplo 1 de php</title>
</HEAD>
<BODY>
<form action="action.php" method="POST">
Dime tu nombre: <input type="text" name="name" />
y tu edad: <input type="text" name="age" />
<input type="submit">
</form>
Además la información que obtengo es:
<?php
phpinfo();
?>
</BODY>
Fichero action.php
Hola <?php echo $_POST["name"]; ?>.
Tienes <?php echo $_POST["age"]; ?> años , y estas utilizando como navegador el
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
Ejemplo 9: Objetos
<?php
class foo
{
function do_foo()
{
echo "Estoy dentro de la función do_foo del objeto bar de la clase foo.";
}
}
$bar = new foo;
$bar->do_foo();
?>
Ejemplo 10: Subir Ficheros
<form enctype="multipart/form-data" action="action.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
Ejemplo 11: Autentificación con PHP
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "<p>Hola {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>El password introducido ha sido {$_SERVER['PHP_AUTH_PW']}.</p>";
}
?>
Ejemplo 12: Re-Autentificación con PHP
<?php
function authenticate() {
header('WWW-Authenticate: Basic realm="Test Authentication System"');
header('HTTP/1.0 401 Unauthorized');
echo "Has introducido un login y password valido para llegar a este recurso\n";
exit;
}
if (!isset($_SERVER['PHP_AUTH_USER']) ||
($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] ==
$_SERVER['PHP_AUTH_USER'])) {
authenticate();
}
else {
echo "<p>Welcome: {$_SERVER['PHP_AUTH_USER']}<br>";
echo "Old: {$_REQUEST['OldAuth']}";
echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='POST'>\n";
echo "<input type='hidden' name='SeenBefore' value='1'>\n";
echo "<input type='hidden' name='OldAuth'
value='{$_SERVER['PHP_AUTH_USER']}'>\n";
echo "<input type='submit' value='Comprobar autentificación'>\n";
echo "</form></p>\n";
}
?>
Descargar