• No se han encontrado resultados

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1

N/A
N/A
Protected

Academic year: 2021

Share "PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1"

Copied!
8
0
0

Texto completo

(1)

PHP

Personal Home Page

Página 1 PHP

Introducción (1)

• ¿ Qué es PHP ?

– Acrónimo de

PHP: Hypertext Preprocessor

.

– Lenguaje interpretado de alto nivel que permite

desarrollar fácilmente páginas dinámicas.

• Similar a los lenguajes C y Perl.

– El código va embebido en HTML mediante

etiquetas especiales de comienzo y final.

Página 2 PHP

Introducción (2)

– El código PHP se ejecuta en el servidor. El cliente

nunca verá el código del programa PHP, sólo

llegarán las páginas HTML que genere el programa.

Introducción (3)

• Esquema de funcionamiento

PHP

solicitud Ejecución de código PHP

Servidor Web

respuesta procesado

(2)

Introducción (4)

• ¿ Qué permite ?

– Uso primario

• Escribir scriptsde servidor

– Procesar la información de formularios, generar páginas con contenidos dinámicos, o mandar y recibircookies.

• Otros

Scripts

de línea de comandos

– Aplicaciones clientes gráficas

Página 5 PHP

Introducción (5)

• Ventajas del PHP

– Fácil de aprender

– Permite hacer cualquier cosa

• Acceso a bases de datos

• Creación de documentos PDF, imágenes y películas Flash • Soporta comunicación con otros servicios (FTP, …)

– Está ampliamente probado como herramienta y se

puede utilizar en cualquier plataforma.

– Existen

numerosos

recursos

para

facilitar

el

desarrollo de aplicaciones (bibliotecas de clases).

Página 6 PHP

Sintaxis básica

• Saliendo de HTML

– PHP sólo interpreta el texto entre códigos especiales

<?phpCódigo PHP?>

• <script language=“php”>Código PHP</script>

– Separación de instrucciones: ;

– Comentarios

• Tipo C/C++ Página 7 PHP

Tipos

array entero string

punto flotante objeto

Página 8 PHP

• Soporte de tipos de PHP

• La ligadura del tipo es dinámica, aunque se

puede forzar la conversión a un tipo.

(3)

Variables (1)

• Uso de variables

– Las variables se representan como un signo de dólar

seguido por el nombre de la variable.

• El nombre de la variable es sensible a minúsculas y mayúsculas

• Asignación por valor: $i = 10; $nombre = “pepe”; • Asignación por referencia: $ref = &$nombre; • Variables array

$a = array (“uno”=>1, “dos”=>2, “tres”=>3); Página 9 PHP

Variables (2)

• Ámbito de las variables

– Contexto en el que la variable está definida (abarca

ficheros incluidos y requeridos). Habitualmente el

documento.

– En las funciones definidas por el usuario el ámbito,

por defecto, es local a la función.

• Se pueden definir variables globales en una función con la palabra reservada global.

• También se puede utilizar el array $GLOBALS.

Página 10 PHP

Variables (3)

• Las variables estáticas son variables locales a la función pero que conservan el valor en llamadas sucesivas. Se definen constatic.

• Variables variables

– Son nombres de variables que se pueden establecer y

usar dinámicamente.

$a = "hola"; echo "$a ${$a}"; $$a = "mundo"; echo "$a $hola";

• Constantes

define(PI, 3.1415926) hola mundo

Operadores

• Tipos de operadores

– Operadores aritméticos – Operadores de asignación

– Operadores de manipulación de bits – Operadores de comparación

– Operadores de incremento y decremento – Operador de ejecución (` `)

– Operadores lógicos – Operadores de cadenas (.)

(4)

Estructuras de control

• Condicionales:

if

,

else

y

elseif

• Iterativas:

while

,

do..while

,

for

y

foreach

• Alternativa múltiple:

switch

Página 13 PHP

$a = array ("uno" => 1, "dos" => 2, "tres" => 3);

foreach( $a as$key => $value ) echo "Índice: $key; Valor:

$value<br>\n"; $a = 10.5; $b = $a;

if($a > $b)

print "$a es mayor que $b";

elseif($a == $b) print "$a es igual que $b";

else

print "$a es menor que $b";

Funciones (1)

• Definidas por el usuario

– Sintaxis

function nombre ($arg1, $arg2, …, $argN) { código de la función;

return $valor_retornado; }

• Los parámetros se pueden pasar por valor o por referencia.

• En el código de la función puede aperecer cualquier instrucción válida de PHP, incluso en otras funciones o definiciones de clase.

Página 14 PHP

Funciones (2)

– La sobrecarga de funciones y la ocultación o

redefinición de funciones no está permitida.

– Ejemplo:

functionfact ($n=0) {

$result = 1;

for($i=1; $i <= $n; $i++) $result *= $i; return$result; } Página 15 PHP

Funciones (3)

– Las funciones soportan parámetros por defecto y

parámetros múltiples

• Funciones

– func_num_args(), func_get_arg() – func_get_args()

• Funciones variable

– Si una variable tiene unos paréntesis añadidos al

final, PHP buscará una función con el mismo

nombre que la evaluación de la variable, e intentará

ejecutarla (

callbacks

, tablas de funciones).

Página 16 PHP

(5)

Datos de formularios (1)

• Método GET

– Los valores suministrados se almacenan en la variable predefinida superglobal $_GET de tipoarray.

<form method="get"

action="<? echo $_SERVER["PHP_SELF"]; ?>"> <fieldset>

Nombre: <input type="text" name="nombre"> <br /><br />

<input type="submit" value=" Enviar "> <input type="reset" value="Restablecer"> </fieldset> </form> Página 17 PHP

Datos de formularios (2)

• Método POST

– Los valores suministrados se almacenan en la variable predefinida superglobal $_POST de tipoarray.

<form method="post"

action="<? echo $_SERVER["PHP_SELF"]; ?>"> <fieldset>

Nombre: <input type="text" name="nombre"> <br /><br />

<input type="submit" value=" Enviar "> <input type="reset" value="Restablecer"> </fieldset>

</form>

Página 18 PHP

Paso de información

• Mediante datos de tipo oculto

– Permiten transferir datos leídos de formularios o

generados por la aplicación.

<input type=“hidden” name=“nombre” value=“valor”>

• Mediante enlaces

– <a href=“pr.php?nombre=valor”>enlace</a>

– <a href=“pr.php?n1=v1&amp;n2=v2”>

enlace</a>

Sesiones (1)

• Gestión de sesiones

– Facilita el seguimiento de las acciones que realiza el

cliente.

• A cada visitante del sitio se le asigna un identificador único, session_id. Éste se almacena en una cookie o se propaga en la URL.

– Una vez creada la sesión se pueden registrar las

variables de sesión mediante la variable superglobal

$_SESSION de tipo

array

.

(6)

Sesiones (2)

– Funciones

bool session_start(void): crea una sesión (o la continúa basándose en el session_id pasado por GET o mediante unacookie).

bool session_destroy(void): destruye todos los datos asociados con la sesión actual. No destruye ninguna de las variables globales asociadas a la sesión ni lacookie. •bool session_regenerate_id(void): reemplazará laidde

sesión actual con una nueva, y conservará la información de sesión actual. Página 21 PHP

Sesiones (3)

– Ejemplo <? session_start();

if(! isset($_SESSION[“inicial”])) { // nueva sesión

session_regenerate_id(); $_SESSION[“inicial”] = session_id(); echo “Nueva sesión: “ . $_SESSION[“inicial”] . “<br />\n”; }

else{

echo “Continuación de la sesión: “ . $_SESSION[“inicial”]. “<br />\n”;

echo “Destruyendo la sesión ... “; $_SESSION = array();

if(session_destroy()) echo “sesión destruida.<br />\n”;

elseecho “se ha producido un error.<br />\n”; } ?>

Página 22 PHP

Sesiones (4)

string session_name([string]): obtiene o modifica el nombre de la sesión actual. Debe utilizarse antes de session_start para dar nombre a una sesión.

string session_id([string id]): obtiene o modifica el identificador para la sesión actual. También se puede utilizar la constante SID.

string session_save_path([string path]): obtiene o modifica la ruta al directorio utilizado actualmente para guardar los datos de la sesión.

string session_encode(void): retorna una cadena con el contenido de la sesión actual.

bool session_decode(string datos).

Página 23 PHP

ADOdb (1)

• Conexión a base de datos

set_include_path(get_include_path() .

':/usr/share/php/adodb/'); include('adodb.inc.php');

$dsn = “$dbdriver://$user:$password@$server/$database” $conn = NewADOConnection($dsn);

$conn = &ADONewConnection($dbdriver); // “mssqlpo” $conn->Connect($server, $user, $password, $database);

Página 24 PHP

(7)

ADOdb (2)

$conn

es un objeto de la clase

ADOConnection

de

conexión a base de datos.

– Algunas propiedades del objeto:

databaseType: Nombre del sistema de base de datos al que nos conectamos.

debug: Con el valor true provoca que se muestren los mensajes de depuración.

true: el valor usado para representar verdadero. •false: el valor usado para represertar falso.

Página 25 PHP

ADOdb(3)

fmtDate: el formato usado por la funciónDBDatepara enviar fechas a la base de datos.

sysDate: cadena que contiene el nombre de la función de base de datos que genera la fecha actual.

Página 26 PHP

ADOdb (4)

– Algunos métodos del objeto:

Connect($host,[$user],[$password],[$database]): conexión no persistente al DSN o servidor $host. Si la conexión falla retorna falso.

Execute($sql,$inputarr=false): ejecuta el enunciado SQL en$sqly retorna un objeto de la claseADORecordSet

si es correcto.

ErrorMsg(): retorna el último mensaje de error.

SetFetchMode($mode): asigna el modo para obtener los resultados de la conexión (ADODB_FETCH_ASSOC o

ADODB_FETCH_NUM).

ADOdb (5)

• Objeto

ADORecordSet

– Este objeto se obtiene al ejecutar de forma

satisfactoria un enunciado SQL con el método

ADOConnection->Execute($sql)

.

– Este objeto contiene un cursor virtual para podernos

mover fila a fila por los resultados obtenidos.

– Algunas propiedades del objeto:

fields:arrayque contiene la fila actual. No es asociativo, sino indexado de 0 al número de columnas menos uno.

(8)

ADOdb (6)

sql: contiene el enunciado SQL utilizado para generar las filas de datos.

EOF: verdadero si se ha movido cursor después de la última fila de datos.

– Algunos métodos:

UserDate($str, [$fmt]): convierte la cadena de caracteres con una fecha$stra otro formato fecha.

SQLDate($dateFormat, $basedate=false): Retorna una cadena que contiene la funcion SQL nativa para formatear una fecha o el campo fecha$basedate.

Página 29 PHP

ADOdb (7)

MoveNext(): mueve el cursor a la siguiente fila. •Move($to): mueve el cursor a la fila$to.

FetchRow(): retorna unarrayque contiene la fila actual y mueve el cursor a la fila siguiente.

FieldCount(): número de columnas en elrecordSet. •FetchObject($toupper=true): retorna la fila actual como

un objeto.

FetchObject($toupper=true): retorna la fila actual como un objeto y mueve el cursor a la fila siguiente.

CurrentRow(): retorna el número de fila actual.

Página 30 PHP

Referencias

Documento similar

If you are covered by a reciprocal agreement for health and social security (citizens of Denmark, Finland, France, Luxembourg, Norway, Portugal and Sweden), you may be eligible

La Federación de Gremios de Editores de España realiza anualmente el informe de Comercio Interior del Libro de las empresas editoriales privadas y agremiadas en España y que en

DECORA SOLO LAS IMÁGENES QUE NECESITES PARA LLEGAR AL NÚMERO CORRESPONDIENTE... CEIP Sansueña/CEIP Juan XXIII Infantil

Las personas solicitantes deberán incluir en la solicitud a un investigador tutor, que deberá formar parte de un grupo de investigación. Se entiende por investigador tutor la

Imparte docencia en el Grado en Historia del Arte (Universidad de Málaga) en las asignaturas: Poéticas del arte español de los siglos XX y XXI, Picasso y el arte español del

Ambos conjuntos tienen igual número de elementos, dado que existe entre ellos la siguiente correspondencia biunívoca: (a,b,c,d,e,f) &lt;-&gt; (a,b-1,c-2,d-3,e-4,f-5) dónde

Que en la reumon de la Comisión de Gestión Interna, Delegada del Consejo Social, celebrada el día 17 de marzo de 2011 , con quórum bastante para deliberar y

De esta manera, ocupar, resistir y subvertir puede oponerse al afrojuvenicidio, que impregna, sobre todo, los barrios más vulnerables, co-construir afrojuvenicidio, la apuesta