PDF de programación - PHP

Imágen de pdf PHP

PHPgráfica de visualizaciones

Publicado el 24 de Junio del 2017
871 visualizaciones desde el 24 de Junio del 2017
241,4 KB
69 paginas
Creado hace 10a (22/05/2009)
Programación en Internet 2008-2009

Departamento de Lenguajes y
Sistemas Informáticos

PHPPHP

Programación en Internet

Curso 2008-2009

Programación en Internet – Curso 2007-2008

Índice (I)



Introducción
– Ventajas
– Multiplataforma
Multiplataforma

• Características del lenguaje

– Sintaxis:

• Variables
• Arrays
• Cadenas de texto
• Constantes
• Operadores
• Sentencias de control
• Funciones
Funciones

• Funciones y librerías

– Include/Require
– Manejo de ficheros
– Acceso al sistema de ficheros
– Funciones matemáticas y de fechas

DLSI - Universidad de Alicante

1

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Índice (II)

• Orientación a objetos
• Entorno de desarrollo en Internet

– Variables predefinidas
– Objetos y funciones del entorno
– Tratamiento de formularios
– Tratamiento de sesiones
– Subir ficheros
– Cabeceras HTTP

Programación en Internet – Curso 2007-2008

Índice (y III)
• Acceso a bases de datos

– Conceptos generales
Conceptos generales
– Acceso a MySQL
– Acceso a ODBC

• Depuración
• Otras funcionalidades
• Bibliografía
Bibliografía

DLSI - Universidad de Alicante

2

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Introducción

• PHP:

Personal Home Page Tools
– Personal Home Page Tools
– PHP: Hipertext Preprocessor

• Historia:

• Inicio del desarrollo: otoño de 1994
• PHP 1, 1995
• PHP 2, 1995-1997
• PHP 3, 1997-2000
• PHP 4, mayo 2000
PHP 4, mayo 2000
• PHP 5, julio 2004

• Lenguaje de programación:
– Paradigma: imperativo y OO
– Débilmente tipado

Programación en Internet – Curso 2007-2008

Introducción

• Basado en C, C++, Java, Awk, Perl y Bash (shell

script de Unix)
script de Unix).

• Tiene características de POO: permite crear clases y

objetos

• Usos:

– Tecnología de servidor interpretada, el código se intercala

entre el HTML
Programación de consola (línea de comandos)
– Programación de consola (línea de comandos)
– Aplicaciones con interfaz gráfica con Qt o GTK+

DLSI - Universidad de Alicante

3

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Ventajas

• Multiplataforma
• Alta velocidad de respuesta (¿el más rápido?)
• Alta velocidad de respuesta (¿el más rápido?)
• Software libre bajo licencia GPL:

– Es gratuito
– El código fuente está disponible
– Y existe el permiso para modificarlo

• La curva de aprendizaje es baja, ya que está basado

en lenguajes conocidos y muy comunes

• Existe una gran cantidad de módulos y añadidos
para complementar y aumentar sus prestaciones
p

p

p

y

Programación en Internet – Curso 2007-2008

Multiplataforma

• Funciona sobre diversos sistemas operativos:

• UNIX (todas las variantes)
• UNIX (todas las variantes)
• Win32 (NT/W95/W98/W2000/XP)
• Mac (WebTen), OS/2, BeOS

• Funciona con distintos servidores web:

• Apache (UNIX, Win32)
• ISAPI (IIS, PWS)
• NSAPI (Netscape iPlanet)
• Java servlet
• AOLServer
• AOLServer

• Permite el acceso a más de 20 SGBD:

• Nativo: Oracle, BD2, Informix, MySQL, PostgreSQL, Sybase, dBase
• ODBC: MS-Access, SQL-Server, etc.

DLSI - Universidad de Alicante

4

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Ficheros de PHP

• Los ficheros que contienen código PHP

i

i

t

d l

ti
t
tienen que tener una de las siguiente
extensiones:
– .php3, para código de la versión 3
– .php4, para código de la versión 4
– .php, genérico y el más utilizado
phtml cada vez menos utilizado
– .phtml, cada vez menos utilizado

• PHP4 es compatible con PHP3 (a excepción

de unas pocas características)

Programación en Internet – Curso 2007-2008

Características del lenguaje (I)

• Delimitadores de código de servidor:

<?
?>
<? ... ?>
<?php ... ?>
<script language=“php”>...</script>
<% ... %>, no siempre disponible, según

configuración del intérprete

• Comentarios:

/* Comentario tipo C

multilínea */

// Comentario tipo C++, una sola línea
# Comentario tipo Bash/Perl, una línea

DLSI - Universidad de Alicante

5

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Características del lenguaje (II)
• ¿Hay algún problema con <? ... ?> ?
• ¿Dónde se usa también?

Programación en Internet – Curso 2007-2008

Características del lenguaje (III)
Instrucción de procesamiento de XML:


<?xml version="1 0" encoding="utf 8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"

i

i

á i

xml:lang="en-US" lang="en-US">
i

(I i
l d l W3C)
(Inicio página principal del W3C)
• Produce un error de análisis:
Parse error: syntax error, unexpected T_STRING in
C:\Web\index.php on line 1

DLSI - Universidad de Alicante

6

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Características del lenguaje (IV)
• Solución 1:
Modificar fichero h i i para desactivar el uso de <?
Modificar fichero php.ini para desactivar el uso de <?

como inicio del código PHP:

short_open_tag=off
Hay que usar <?php …?>

Solución 2:
• Solución 2:
<?php echo '<?xml version="1.0" encoding="iso-
8859-1"?>'; ?>

Programación en Internet – Curso 2007-2008

Características del lenguaje (y V)
• Final de instrucción: punto y coma (;)
• Para imprimir cadenas de caracteres:

d

t

i

i

i

d

P
echo “cadena de texto”;
<?=“cadena de texto”?>
• Mayúsculas y minúsculas:

– Con los nombres de variable, SÍ que importan:

u e o es d e e te de $

$MiNumero es diferente de $minumero
$
u e o
– Con los nombres de funciones y palabras

reservadas, NO importa:
PRINT() es igual que print()

DLSI - Universidad de Alicante

7

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Variables (I)

• PHP es un lenguaje débilmente tipado
• No hace falta declarar las variables se declaran
• No hace falta declarar las variables, se declaran

automáticamente al aparecer por primera vez en el
código fuente

• TODAS LAS VARIABLES LLEVAN EL SÍMBOLO $

• Sin embargo, hay unos tipos básicos:

– int, integer Enteros. 0NNN en base 8, 0xNN en base 16.
– float, double, real Coma flotante
– array, string, object

DELANTE DE SU NOMBRE:
$var1 = 123;
$var2 = ‘hola mundo’;

• El tipo de las variables es ‘mixed’, similar tipo

‘variant’ en VBScript

Programación en Internet – Curso 2007-2008

Variables (II)

• Ejemplos de tipos:

– Arrays.

Enteros en decimal octal o hexadecimal:
– Enteros, en decimal, octal o hexadecimal:
$Var = 123;
– Coma flotante:
$Var = 1.3e4;
$Var[2] = 123;
Cadenas:
– Cadenas:
$Var = “Cadena de texto\n”;
$Var = new oClase();

– Objetos:

DLSI - Universidad de Alicante

8

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Variables (III)

• Una variable puede tener diferentes tipos a lo

largo del tiempo
largo del tiempo

• Para evitar errores y ambigüedades, PHP realiza

las conversiones de tipo necesarias (casts) a la
hora de operar con variables y contenidos de
tipos diferentes:
$num = 123;
echo $num; //num se transforma en String

• Para realizar una conversión explícita:

$var = (string)123;

• También se puede cambiar el tipo con settype():

$var = 12;
settype($var, double);

Programación en Internet – Curso 2007-2008

Variables (IV)

• Ámbito Según el lugar donde esté

declarada:
declarada:
– Global a un fichero
– Local a una función
– Local a una clase/objetos (variables de clase o

atributos). Accesibles mediante operador ‘->’
• Para acceder a una variable global desde

f

una función ‘global’
l b l’

ió ‘

$mivar = 3;
function mifuncion() {

global $mivar;
echo $mivar;

}

DLSI - Universidad de Alicante

9

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Variables (y V)

• Se pueden definir ‘alias’ de una variable: dos o

más variables que apuntan a un mismo dato (como
si fueran punteros)

• El operador ‘&’ para obtener las referencias:
• Se emplea unset() para eliminarlas:

$malnom = &$variable;

unset ($malnom);
Se pueda acceder al contenido de una variable
• Se pueda acceder al contenido de una variable
(v1) a través de otra variable (v2) que almacena el
nombre de la variable (v1) mediante ‘$$’:
$a = 123;
$b = ‘a’;
echo $$b; // 123

Programación en Internet – Curso 2007-2008

Arrays (I)

• Se declaran y acceden los elementos con los

corchetes: [ ]
[ ]

h t

• La primera componente es la cero
• Los elementos pueden tener distinto tipo en un

mismo vector

• Se puede acceder a un elemento mediante un

índice asociativo (tablas hash)

• Arrays multidimensionales
• Constructor: array()

DLSI - Universidad de Alicante

10

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Arrays (II)

• Tipos de los elementos:

t 1[0]

$
1
$vector1[0] = 1;
$vector1[1] = ‘hola’;
$vector1[“nom”] = “juan”;

• Constructor:

$vector2 = array (1, “jorge”, 3);
$vector3 = array(

0 => 1,
1 => “jorge”,
“nom” => “jaime”,
3 => 5 );

// índice => valor

Programación en Internet – Curso 2007-2008

Arrays (III)

• Otra forma:
$a[] = 'a';
$a[] = 'b';
$a[] = 'c';
// equivale a
$a = array('a', 'b', 'c');
// equivale a
$a = array(0 => 'a', 1 => 'b', 2 => 'c');

q

DLSI - Universidad de Alicante

11

Programación en Internet 2008-2009

Programación en Internet – Curso 2007-2008

Arrays (IV)

• Un índice puede ser una cadena o un entero
• Cuando el índice es una cadena, no existe el

correspondiente índice entero

• Cuando el índice se omite, automáticamente

se genera un índice empezando desde 0

• Si un índice es un entero, el siguiente índice

generado será el mayor índice entero + 1

• Cuando se definen dos índices idénticos, el

último sobrescribe al primero

Programación en Internet – Curso 2007-2008

Arrays (V)

$firstquarter = array(1 => 'January', 'February',

'March');

print_r($firstquarter);

Genera:

Array ( [1] => January [2] => February [3] =>

March
  • Links de descarga
http://lwp-l.com/pdf4603

Comentarios de: PHP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad