http://www.todopcsymas.foroactivo.com.es | Foro de informática e internet | version 1. beta
Regístrate en todopcsymas para acceder a todo el contenido


Todopcsymas foro de informática a internet | Nueva generación de informáticos | Contamos con los mejores programadores, diseñadores e informáticos del momento | Tutoriales, programas, consejos, noticias, actualidad, programación y mucho más.. 100 % legal
 
ÍndicePortalCalendarioFAQMiembrosGrupos de UsuariosRegistrarseConectarse
Últimos temas
» Tutorial - instalar foro phpbb3 completamente desde 0
Mar Mar 17, 2009 10:15 pm por j.garcia2

» Firefox 3.0.7 , actualizacion de seguridad y estabilidad
Mar Mar 17, 2009 6:09 am por deimy

» Tutorial de creación de páginas web con Dreamweaver CS3
Lun Mar 16, 2009 8:29 pm por j.garcia2

» Tutorial - 99 formas de acelerar un ordenador
Lun Mar 16, 2009 8:24 pm por j.garcia2

» ¿Que debes hacer para afiliarte a todopcsymas?
Lun Mar 16, 2009 8:02 pm por j.garcia2

» Muy buenas a todos
Lun Mar 16, 2009 7:54 pm por j.garcia2

» Damos puestos de moderador
Lun Mar 16, 2009 5:47 pm por j.garcia2

» Vulnerabilidades en Google Chrome (IV)
Dom Mar 15, 2009 2:34 pm por j.garcia2

» Vulnerabilidades en Google Chrome (III)
Dom Mar 15, 2009 2:33 pm por j.garcia2

» Vulnerabilidades en Google Chrome (II)
Dom Mar 15, 2009 2:31 pm por j.garcia2

» Vulnerabilidades en Google Chrome (I)
Dom Mar 15, 2009 2:30 pm por j.garcia2

» Mi Foro de bichos
Dom Mar 15, 2009 2:22 pm por j.garcia2

» Mas de 100 links de utilidad
Dom Mar 15, 2009 4:23 am por j.garcia2

» Windows live messenger 2009
Dom Mar 15, 2009 4:15 am por j.garcia2

» Creador de nicks
Dom Mar 15, 2009 4:12 am por j.garcia2

» Winamp portable
Dom Mar 15, 2009 3:52 am por j.garcia2

» FIreworks portable muy bueno ;)
Dom Mar 15, 2009 3:50 am por j.garcia2

» ¿Que es visual basic o para que sirve?
Dom Mar 15, 2009 3:26 am por j.garcia2

» Tutoriales c++ gracias a linkgl
Dom Mar 15, 2009 3:25 am por j.garcia2

» C ++ [INTRODUCCION]
Dom Mar 15, 2009 3:23 am por j.garcia2

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

La mayor cantidad de usuarios en línea fue 41 el Miér Ene 15, 2014 1:51 pm.
Estadísticas
Tenemos 432 miembros registrados.
El último usuario registrado es deimy

Nuestros miembros han publicado un total de 1803 mensajes en 623 argumentos.
Mejores posteadores
j.garcia2
 
Cristhian
 
Lana
 
pabluc
 
meson21
 
chema93mx
 
petropuchas
 
davidamc
 
ignacio34
 
Gaston
 
Palabras claves
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Sondeo
Noviembre 2018
LunMarMiérJueVieSábDom
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendarioCalendario

Comparte | 
 

 Introducción al PHP y a las librerías 2

Ir abajo 
AutorMensaje
j.garcia2
Admin
Admin
avatar

Cantidad de envíos : 742
Edad : 28
Localización : Madrid - España
Puntos : 9
Reputación : 0
Fecha de inscripción : 04/06/2008

MensajeTema: Introducción al PHP y a las librerías 2   Dom Jul 06, 2008 4:47 pm

Printf, sprintf

El formato de llamada de estas funciones es exactamente igual que en C.

Echo

Echo
en realidad no es una función sino una construcción del lenguaje, por
ello se puede poner tanto con paréntesis como sin paréntesis.

Evaluación de variables con Eval

La
función Eval($strExpr) permite evaluar la expresión $strExpr, de manera
que si contiene código PHP válido, éste será interpretado. Esto permite
cosas muy flexibles como por ejemplo callbacks:

function mycallback($strParam) {
Echo("Dentro del callback
con parámetro $strParam");
}

function myfunc($fnCallback) {
// Creamos una tabla
Echo("
Callback1:");
// Llamamos al callback
Eval($fnCallback);
// Cerramos la tabla
Echo("
");
}
$strCode = 'global $strParam; mycallback($strParam);';
$strParam = "Soy el parámetro del callback";
myfunc($strCode);


Podemos emplear otra técnica para hacer callbacks más sencillos con:

function mycallback() {
Echo("Dentro del callback.
");
}
$strCallback = "mycallback";
// Llamamos al callback
$strCallback();


Variables variables

No, el título no está equivocado, las variables variables son formas de indireccionamiento a la hora de referirse a variables.

Si
tenemos dos variables $strVarName y $nValue y hacemos que $strVarName
contenga la cadena "nValue", al referirnos a $$strVarName (nótese el
doble dólar "$$") nos estamos refiriendo a la variable que tiene como
nombre el contenido de $strVarName, es decir, a $nValue.

Lo anterior plasmado en un ejemplo sería:

$nValue = 5;
$strVarName = "nValue";
Echo("Mostrando el valor de $strVarName: $$strVarName.
");
$$strVarName = 5;
Echo("Ahora $strVarName vale $$strVarName.
");


En los casos en los que haya ambigüedad, puede emplearse el agrupador {}, por ejemplo, para $$myarray[0]), podríamos referirnos:

1. Al primer elemento del array que tiene como nombre el contenido de la variable $myarray.
2. A la variable que tiene como nombre el contenido de $myarray[0].

Si
empleásemos el operador de agrupación para evitar la ambigüedad, el
primer caso lo escribiríamos ${$myArray}[0] y ${$myArray[0]} en el
segundo.

Control de errores Error_Reporting

Mediante la
función Error_Reporting(mask) se pueden limitar los errores que captura
el intérprete de PHP y ante los que aborta la ejecución del programa de
entre los siguientes:

* E_ERROR (1)
* E_WARNING (2)
* E_PARSE (4)
* E_NOTICE (
* E_CORE_ERROR (16)
* E_CORE_WARNING (32)

Por ejemplo, con:

Error_Reporting(E_NOTICE | E_WARNING);


Se hará que el intérprete de PHP no capture los errores distintos de NOTICEs o de WARNINGs, para que podamos tratarlos nosotros.

Es
habitual deshabilitar E_NOTICE cuando se emplea la función IsSet para
comprobar si se inicializó una variable, ya que si no se hace así, y la
variable no fue inicializada dará un error y el intérprete abortará la
ejecución:

// Deshabilitamos notices
$nOldMask = Error_Reporting(~E_NOTICE);
if (IsSet($btnAlta)) {
// Pulsó el botón de alta en el form
Echo("Dando de alta el elemento solicitado.
");
} elseif (IsSet($btnBaja)) {
// Pulsó el botón de baja en el form
Echo("Dando de baja el elemento solicitado.
");
}
// Restauramos la máscara de error antigua
Error_Reporting($nOldMask);


Opcionalmente puede deshabilitarse la detección de errores para una sola sentencia anteponiendo la arroba "@" a la sentencia.

Die, exit

Se emplean para terminar la ejecución del script abruptamente.

* Die($msg) muestra el mensaje $msg antes de salir.
* Exit() sale de la ejecución del script.

1.9 Librerías

Include

Incluye el fichero cada vez, por si se desea meter esta instrucción en un bucle:

// Array con los nombres de las librerías
$arrLibraries = Array("include1.php3", "include2.php3",
"include4.php3");
// Iteramos por cada nombre de librería
while (list($nIndex, $strLibname) = each(arrLibraries)) {
// Incluímos esta librería
include($strLibname);
}


Require

Se
reemplaza la instrucción Require("nomfich") por el fichero. Es lo que
se suele usar normalmente para incluir librerías externas.

1.10 Clases (Objetos)

Para
declarar un objeto en PHP usamos la construcción class, las variables
de instancia se declaran anteponiendo var al nombre y las funciones
miembro se definen dentro del bloque de la clase como funciones
normales y corrientes. Un constructor se define como una función con el
mismo nombre que el objeto.

Para referirnos al propio objeto o a variables miembro, empleamos $this->.

Un ejemplo de todo lo anterior sería:

class MyObject {
var $nCount = 0;
var $strName;
function MyObject($strName="Nonamed") {
$this->strName = $strName;
}
function AddCount($nDelta) {
$this->nCount += $nDelta;
}
function GetCount() {
return $this->nCount;
}
}


Como
vemos, en las funciones miembro podemos emplear parámetros por defecto
y cualquier cosa que emplearíamos en una función normal.

Para usar este objeto, haríamos:

$myObj = new MyObject("Pepito");
Echo("Count vale " . $myObj->GetCount() . "
");
$myObj->AddCount(5);
Echo("Ahora count vale " . $myObj->GetCount());


Mucho
cuidado con las mayúsculas y minúsculas en los nombres de las variables
de tipo objeto, porque el PHP tiende a ser case sensitive con éstas.

2. Librerías de Bulma

A
lo largo de todos los ficheros PHP de Bulma, se sigue la notación
húngara (bueno, técnicamente es un derivado denominado notación
checoslovaca, creo), es decir, anteponer el prefijo de tipo al nombre
de la variable.
Volver arriba Ir abajo
Ver perfil de usuario
j.garcia2
Admin
Admin
avatar

Cantidad de envíos : 742
Edad : 28
Localización : Madrid - España
Puntos : 9
Reputación : 0
Fecha de inscripción : 04/06/2008

MensajeTema: Re: Introducción al PHP y a las librerías 2   Dom Jul 06, 2008 4:48 pm

Por ejemplo, la variable de tipo cadena que almacene el nombre de usuario, podría ser

strUser

(

str

es el prefijo de variables de tipo cadena). Otros prefijos habituales son:

* n para enteros: nCounter, nIndex...
* lrc para instancias de la clase LoginRec.
* rs para instancias de la clase RecordSet: rsUsuarios, rsNoticias...
* con para instancias de la clase Connection: conBulma...

2.1 recordset.php3

Este
fichero contiene objetos para abstraer de la base de datos en concreto
a usar. De esta manera, si en algún punto del desarrollo se desea
cambiar de base de datos (mySQL...), se podrá hacer cambiando
únicamente este fichero.

Actualmente este fichero implementa las funciones de acceso únicamente para la fantástica base de datos PostgreSQL.

Connection

Connection($strDBName, $bPersistent)

Crea la conexión con la base de datos dada.
Parámetros

* $strDBName Nombre de la base de datos a la que conectar.
* $bPersistent Si usar conexiones persistentes o no (reciclar una conexión anterior, cosas del PostgreSQL).

Notas

Es importante cerrar la conexión llamando a Close() cuando se haya acabado de emplear.

Close()

Cierra la conexión previamente abierta.

Exec($strQuery)

Ejecuta la consulta $strQuery sobre esta conexión.
Parámetros

* $strQuery Cadena cno la consulta SQL a ejecutar.

Valor de retorno

Devuelve un RecordSet con el resultado de la consulta.
Notas

Es importante llamar al método Close del RecordSet cuando se haya acabado de usar éste.

RecordSet

Los RecordSet almacenan conjuntos de registros, resultado de una consulta a una base de datos.

RecordSet($con)

Parámetros

* $con Connection sobre la que operará este RecordSet

Notas

Cuando se acabe de usar el RecordSet se debe llamar a Close para liberar los recursos de este RecordSet.

Open($strQuery)

Es equivalente al método Exec().

GetError()

Devuelve la cadena del último error ocurrido en la última llamada a Exec() u Open(), o 0 si no se produjo ningún error.

Exec($strQuery)

Ejecuta la consulta SQL dada.
Parámetros

* $strQuery Consulta SQL a ejecutar.

Notas

Antes de llamar al próximo Exec() u Open es necesario cerrar el RecordSet actualmente abierto.

MoveNext()

Recupera los datos del siguiente registro de este RecordSet.

MoveTo($nRow)

Se posiciona sobre un registro concreto del RecordSet.
Parámetros

* $nRow Número de fila del RecordSet sobre la que posicionarse.

Eof()

Valor de Retorno

Devuelve TRUE si se intentó avanzar más allá de la última fila del RecordSet.
Notas

Un RecordSet vacío devuelve Eof() a TRUE nada más ejecutarse.

GetActRow()

Devuelve el número de fila actual, es decir, el número de registro que está siendo visualizado actualmente en el campo fields.

GetNumRows()

Devuelve el número de registros de este RecordSet.
Valor de Retorno

* -1 Si el RecordSet no ha sido ejecutado aún o la última consulta devolvió error.
* 0 Si el RecordSet está vacío.
* Mayor que 0 Si el RecordSet es válido y tiene registros (en cuyo caso devuelve el número de registros del RecordSet).

Close()

Cierra el RecordSet y desaloja los recursos asignados.
Notas

Después
de cada llamada con éxito a Open() o a Exec() tiene que haber una
llamada correspondiente a Close(). Después de llamar a Close(), pueden
realizarse nuevas llamadas a Exec() y Open() sobre este RecordSet.

fields

Array
asociativo que se indexa con los nombres de los campos de la consulta
realizada y devuelve los valores para el registro actual del RecordSet.

2.2 loginrec.php3

Esta
librería contiene el objeto que soporta la autenticación HTTP mediante
autenticación básica y contraste de la * frente a una base de
datos.

LoginRec

LoginRec()

Inicializa el objeto LoginRec, tomando las variables HTTP de información de login.

Authenticate($con)

Fuerza
la autenticación de la conexión HTTP consultando la base de datos
asociada al objeto Connection pasado como parámetro.Si la autenticación
no es correcta, devuelve una página de error.
Matches($strUser, $strPassword)

Devuelve TRUE si el objeto LoginRec coincide con el usuario $strUser y la * $strPassword.

GetUser

Devuelve el usuario HTTP.

GetIdUser

Devuelve el identificador del usuario en la base de datos.

GetPassword

Devuelve la * HTTP.

IsLogged

Devuelve TRUE si se ha introducido información de usuario y *.

IsAuthenticated

Devuelve
TRUE si se ha introducido información de usuario y coontraseña y estos
se han validado contra la base de datos, mediante una llamada anterior
a Authenticate().

$lrcLoginRec

Objeto de tipo LoginRec creado al incluir esta librería, que contiene la información de login de la conexión HTTP actual.
Volver arriba Ir abajo
Ver perfil de usuario
j.garcia2
Admin
Admin
avatar

Cantidad de envíos : 742
Edad : 28
Localización : Madrid - España
Puntos : 9
Reputación : 0
Fecha de inscripción : 04/06/2008

MensajeTema: Re: Introducción al PHP y a las librerías 2   Dom Jul 06, 2008 4:48 pm

Fuente: http://bulma.net/body.phtml?nIdNoticia=215
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Introducción al PHP y a las librerías 2   

Volver arriba Ir abajo
 
Introducción al PHP y a las librerías 2
Volver arriba 
Página 1 de 1.
 Temas similares
-
» Como hago que mi introduccion aparesca en el indice
» Como se pone una breve introducción en los apartados?
» ¿Cómo puedo hacer una introducción en mi foro que contenga una sola imagen?
» Capturar la fecha de un calendario emergente
» libreria y materiales

Permisos de este foro:No puedes responder a temas en este foro.
http://www.todopcsymas.foroactivo.com.es | Foro de informática e internet | version 1. beta :: Problemas de pc - consejos :: Programación-
Cambiar a: