Apuntes de PHP

Apuntes diversos sobre PHP que vienen a reflejar mi aprendizaje de este lenguaje, y dónde voy a ir plasmando las cosas que me van pareciendo más relevantes sobre este apasionante lenguage.

Varios

  • Xampp -> configuración de PHP -> C:xamppapachebinphp.ini (C:xamppphpphp.ini NO)
  • Las variables pe. tipo checkbox, radiobutton que no están marcadas no se envían con el formulario (en los datos que llegan, la variable no existe!)
  • Por defecto las variables que llegan de un formulario no son accesibles por motivos de seguridad. Para configurar que sí lo sean hay que poner a ON la variable register_globals en la configuración del PHP (C:xamppapachebinphp.ini)
  • extract($_GET) o extract($_POST) coge todas las variables de $_GET o de $_POST y las declara como variables normales (importa variables a la tabla de símbolos desde una matriz). De esta forma ya se podrían utilizar las variables normalmente ($nombre_variable) en lugar de tener que usar $_GET(‘nombre_variable’).
  • Se pueden ejecutar programas PHP en línea de comandos (pe. en Xampp, ir a c:xamppphp y ejecutar “php -v” para ver si lo reconoce. Luego ir al directorio del programa y teclear “php nombre_archivo.php”. Ver final página 15 del libreto curso. La directiva register_argc_argv  tiene que ver con esto.
  • Para detener la ejecución de la página bruscamente (pe. cuando estamos depurando) se puede hacer con la instrucción exit.

Mensajes de error, avisos, y logging

Cosas como pe. utilizar una variable sin haberla inicializado no impiden que el código funcione, pero emite un aviso, o mensaje de error al nivel E_NOTICE. Dado que estos avisos incentivan las buenas prácticas, es interesante tener configurado PHP para que muestre avisos de todos los niveles, por lo menos durante el desarrollo. Ver la sección Error Handling and Logging Functions del manual de PHP.

Sessiones

La directiva session_use_trans_sid es muy importante porque permite que el propio intérprete PHP realice los cambios necesarios en formularios y enlaces para que el ID vaya y venga entre solicitudes HTTP y se pueda guardar así el estado de sesión.

La activación de la directiva session_autostart evitaría tener que poner session_start() en todas las páginas ya que comenzaría (o mantedría) la sesión automáticamente.

Para utilizar la sintáxis session_register(‘mivariable’) para registrar una variable en sesión la directiva register_globals tiene que estar activada.

PEAR

Para instalar PEAR hay que ejecutar go-pear.bat en línea de comandos (con una instalación Xampp estaría en C:xamppphpPEAR).

Ayuda de PEAR en CHM

Llamadas para gestionar datos

Para extraer una tupla en un vector asociativo con los nombres de los campos ya metidos hay que hacer una llamada como ésta: $res->fetchInto($row, DB_FETCHMODE_ASSOC). La constante DB_FETCHMODE_ASSOC es la que produce este efecto.

Haciendo la llamada con la constante DB_FETCHMODE_OBJECT la función obtendría la fila en forma de objeto.

Otros artículos de esta serie:

[seriesposts show_date=0 order=asc]

Publicar un Comentario

Si es la primera vez que escribes, tu comentario será moderado por un administrador.

Con el fin de garantizar un ambiente de debate respetuoso, no se permitirán comentarios:

  • insultantes, difamatorios, racistas, sexistas, y/o discriminatorios
  • excesivamente críticos con otros participanes
  • que no aporten nada, sin sentido o repetidos
  • con enlaces considerados publicidad o spam
  • con material protegido por derechos de autor
*
*