Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP...

154
Este curso forma parte de una serie de cursos cuyo obje4vo principal es el de enseñar el lenguaje de programación PHP a personas con conocimientos básicos de programación, y prepararlos para llevar a cabo proyectos de gran envergadura. Para ello se enseñará PHP básico (este curso), PHP orientado a Objetos, las mejores y más novedosas prac4cas en PHP, Patrones de Diseño y el Zend Framework. 1 © Curso creado por Enrique Areyán. Curso PHP Básico

Transcript of Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP...

Page 1: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Este  curso  forma  parte  de  una  serie  de  cursos  cuyo  obje4vo  principal  es  el  de  enseñar  el  lenguaje  de  programación  PHP  a  personas  con  conocimientos  básicos  de  programación,  y  prepararlos  para  llevar  a  cabo  proyectos  de  gran  envergadura.  Para  ello  se  enseñará  PHP  básico  (este  curso),  PHP  orientado  a  Objetos,  las  mejores  y  más  novedosas  prac4cas  en  PHP,  Patrones  de  Diseño  y  el  Zend  Framework.  

1  ©  Curso  creado  por  Enrique  Areyán.  

Curso  PHP  Básico  

Page 2: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Pueden  contactarme  a  través  del  correo  electrónico  [email protected]  

2  ©  Curso  creado  por  Enrique  Areyán.  

Curso  PHP  Básico  

Page 3: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   3  

Page 4: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Este  curso  básico  de  PHP  pretender  enseñar  las  herramientas  básicas  para  comenzar  a  desarrollar  en  este  lenguaje.  Aquí  se  cubrirán  los  aspectos  básicos  más  importantes  tanto  desde  el  punto  de  vista  teórico  como  prác4co.    Se  asume  que  el  par4cipante  4ene  conocimientos  básicos  de  programación,  no  necesariamente  para  la  Web.  

4  ©  Curso  creado  por  Enrique  Areyán.  

Curso  PHP  Básico  

Page 5: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  revisión  general.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   5  

Page 6: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  documentación  en  línea  sobre  PHP  es  vasta  y  de  calidad.  Si  algo  no  se  consigue  en  el  si4o  de  php,  www.php.net,  u4lizando  google  se  4enen  altas  probabilidades  de  solventar  esta  deficiencia.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   6  

Page 7: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  función  na4va  es  aquélla  que  ya  viene  incluída  como  parte  de  las  librerías  internas  del  lenguaje  y  por  lo  tanto  no  debe  ser  implementada  por  el  programador.  Esto  nos  ahorra  4empo.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   7  

Page 8: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  se  caracteriza  por  ser  un  lenguaje  flexible.  Esta  caracterís4ca  4ene  sus  ventajas  y  desventajas,  como  veremos  más  adelante.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   8  

Page 9: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   9  

Page 10: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

En  este  apartado  se  tocará  el  tema  de  PHP  desde  un  punto  de  vista  conceptual.  También  se  hablará  en  concreto  cómo  es  que  funciona  y  sus  caracterís4cas  principales.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   10  

Page 11: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Fuente:  hdp://www.php.net/manual/en/intro-­‐wha4s.php  

Esto  implica  que  un  archivo  PHP  no  es  más  que  un  archivo  de  texto  plano  alojado  en  el  servidor.  El  intérprete  PHP  recibe  como  entrada  ese  archivo  y  lo  “interpreta”  según  sus  reglas  par4culares.  

En  contraste,  un  lenguaje  compilado  se  implementa  mediante  un  compilador.  Esto  implica  que  una  vez  escrito  el  programa,  éste  se  traduce  a  par4r  de  su  código  fuente  por  medio  de  un  compilador  en  un  archivo  ejecutable  para  una  determinada  plataforma.  

Los  lenguajes  compilados  son  lenguajes  de  alto  nivel  en  los  que  las  instrucciones  se  traducen  del  lenguaje  u4lizado  a  código  máquina  para  su  ejecución.  Por  el  contrario  un  lenguaje  interpretado  es  aquel  en  el  que  las  instrucciones  se  traducen  o  interpretan  una  a  una.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   11  

Page 12: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Según  Wikipedia:  “Las  páginas  dinámicas  que  se  generan  al  momento  de  la  visualización  se  hacen  a  través  de  lenguajes  interpretados,  generalmente  JavaScript,  y  la  aplicación  encargada  de  visualizar  el  contenido  es  la  que  debe  generarlo.  La  páginas  dinámicas  que  se  generan  al  ser  solicitadas  son  creadas  por  una  aplicación  en  el  servidor  Web  que  alberga  las  mismas.”  

Fuente:  hdp://es.wikipedia.org/wiki/P%C3%A1gina_web  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   12  

Page 13: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Cuando  un  usuario  navega  la  Internet  a  una  página  que  termine  en  la  extensión  .php,  la  pe4ción  (request)  se  envía  a  un  servidor  Web  el  cual  redirecciona  dicha  pe4ción  al  interpretador  de  PHP.  

Como  se  muestra  en  el  diagrama,  el  interpretador  de  PHP  procesa  la  página  que  llegó  como  pe4ción.  Para  este  fin,  el  intérprete  se  comunicará  con  el  sistema  de  archivos,  base  de  datos,  servidor  de  correo  o  cualquier  otro  componente  del  sistema  del  cual  se  requiera  algún  servicio  para  completar  la  pe4ción.  

Fuente:  hdp://www.learnphp-­‐tutorial.com/PHPBasics.cfm  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   13  

Page 14: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  función  echo  en  PHP  sirve  para  imprimir  expresiones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   14  

Page 15: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Ejercicio:  Subir  el  archivo  de  este  ejemplo  al  servidor,  correrlo  desde  el  browser  y  ver  el  código  fuente  generado  (clic  derecho,  ver  código  fuente)  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   15  

Page 16: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  también  puede  correr  desde  la  línea  de  comandos  o  terminal.  Esto  es  ú4l  en  ciertas  ocasiones  como  por  ejemplo  para  hacer  “debugging”.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   16  

Page 17: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  breve  introducción  a  la  instalación  y  configuración  (tunning)  del  lenguaje.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   17  

Page 18: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  4ene  tres  usos  básicos:  (1)  para  generar  scripts  a  nivel  de  línea  de  comandos,  (2)  para  crear  aplicaciones  desktop  (posiblemente  PHP  no  sea  la  mejor  herramienta  para  esto)  y  )(3)  para  páginas  y  aplicaciones  web,  que  es  el  uso  más  común.  Aquí  nos  enfocamos  en  PHP  para  la  web.    

Por  tanto,  para  instalar  PHP  para  la  web  se  necesitan  tres  cosas:  (1)  PHP,  (2)  un  servidor  web,  el  cual  es  npicamente  Apache  para  sistema  4po  *nix  o  IIS  para  Windows,  y  (3)  un  web  browser  (IE  o  Fireforx  usualmente)  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   18  

Page 19: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Para  más  información  sobre  la  instalación  de  PHP,  visite:  hdp://www.php.net/manual/en/install.general.php  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   19  

Page 20: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  configuración  del  lenguaje  se  puede  parametrizar  durante  la  ejecución  del  mismo,  por  cada  script,  o  globalmente  al  momento  de  iniciar  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   20  

Page 21: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Cualquier  cambio  que  se  quiera  que  tenga  efecto  sobre  todo  el  ambiente  de  desarrollo  se  debe  hacer  en  el  archivo  de  configuración  php.ini  Este  archivo  es  leído  una  vez  al  momento  de  arrancar  el  sistema  y  aplica  para  todos  los  scripts  que  vayan  a  ejecutarse.  El  archivo  php.ini  es  muy  amplio  y  otorga  una  gran  flexibilidad  al  usuario.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   21  

Page 22: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Un  ejemplo  de  una  pequeña  porción  del  archivo  php.ini.  Se  muestran  varios  de  los  parámetros  más  importantes  del  lenguaje.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   22  

Page 23: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Desde  el  punto  de  vista  del  cliente,  cualquier  mensaje  foráneo  a  la  aplicación  se  considera  como  un  error  y  levanta  sospechas  sobre  el  funcionamiento  de  la  misma.  Muchos  mensajes  de  error  puede  llevar  a  que  el  usuario  desconqe  plenamente  de  la  aplicación  y  deje  de  u4lizarla.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   23  

Page 24: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Se  muestra  como  cambiar  el  comportamiento  de  PHP  al  momento  de  ejecución.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   24  

Page 25: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Para  manejar  cualquier  lenguaje  hay  que  empezar  por  el  a,b,c;  en  este  caso,  la  sintaxis.  En  general,  la  sintaxis  de  un  lenguaje  (hablado  y  escrito,  o  de  computador)  establece  las  reglas  de  cómo  se  deben  formar  expresiones  válidas  en  el  mismo.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   25  

Page 26: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

A  lo  largo  de  este  curso  emplearemos  la  primera  forma  de  las  e4quetas  para  insertar  código  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   26  

Page 27: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  es  un  lenguaje  muy  sencillo  que  presenta  pocas  restricciones  al  momento  de  usarlo.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   27  

Page 28: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  de  las  reglas  fundamentales  para  llevar  a  cabo  proyectos  de  gran  envergadura,  es  la  intradocumentación  del  código.  En  esta  lámina  se  muestra  como  comentar  el  código  del  lenguaje  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   28  

Page 29: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  reserva  algunas  palabras  claves  para  su  uso  interno.  Éstas  comienzan  con  doble  underscore.  De  resto  hay  plena  libertad  en  el  nombrado  de  objetos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   29  

Page 30: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

El  úl4mo  nombre  de  variable  es  válido  y  va  a  ejecutarse  en  su  programa  sin  inconveniente  técnico.  No  obstante,  los  nombre  que  comienzan  con  “underscores”  son  nombres  u4lizados  por  el  equipo  de  desarrollo  de  PHP,  y  si  por  casualidad  coincide  el  nombre  que  usted  le  está  dando,  por  ejemplo,  a  una  variable,  con  el  nombre  que  ellos  en  el  futuro  u4licen  para  una  variable  u  otro  objeto,  entonces  el  de  ellos  tendrá  la  prioridad.    Como  consecuencia,  su  script  dejará  de  funcionar  o  presentará  errores  que  no  presentaba  con  versiones  anteriores  las  cuales  no  incorporaban  de  forma  na4va  el  nombre  de  de  dicha  variable.  En  pocas  palabras,  habrá  una  colisión  entre  el  nombre  del  objeto  que  ellos  definen  y  el  suyo.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   30  

Page 31: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Los  bloques  fundamentales  de  cualquier  lenguaje  de  programación  son  las  variables.  Sin  ellas  no  se  alcanzaría  dinamismo  y  la  u4lidad  de  los  programas  sería  escasa.  Por  su  parte,  las  constates  ayudan  a  establecer  reglas  uniformes  al  momento  de  llevar  a  cabo  proyectos.  En  este  apartado  vemos  en  detalles  como  funionan  constantes  y  variables  en  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   31  

Page 32: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Reglas  para  la  creación  y  lectura  de  constantes.  Importante:  el  valor  de  las  constantes  no  puede  cambiar  en  el  momento  de  ejecución  de  un  programa.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   32  

Page 33: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

El  nombre  de  constante  inválido  no  mostrará  error  hasta  que  se  use  la  constante  en  otra  sentencia.  Por  ejemplo,  si  deseas  imprimir  el  valor  de  la  constante:  echo  5EJEMPLO;,  el  interpretador  de  PHP  arrojará  un  error.  Esto  solo  ocurre  con  constantes,  ya  que  con  otro  4po  de  objetos  el  error  se  arroja  inmediatamente.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   33  

Page 34: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Las  variables  forman  la  estructura  básica  de  cualquier  lenguaje  de  programación.  En  PHP  una  variable  se  declara  prefijando  el  símbolo  de  dólar  ($)  y  siguiendo  las  reglas  de  nombrado  anteriormente  descritas.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   34  

Page 35: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Más  sobre  objetos  en  el  próximo  curso.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   35  

Page 36: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Es  próximos  lecciones  se  verá  claramente  porque  el  hecho  de  que  PHP  sea  débilmente  4pado  es  una  de  las  fuentes  de  errores  más  comunes  al  momento  de  llevar  a  cabo  un  proyecto  de  grandes  dimensiones.  Aunque  es  cierto  que  esta  caracterís4ca  hace  de  PHP  un  lenguaje  sencillo  de  aprender  y  muy  flexible,  también  es  cierto  que  introduce  desorden  desde  el  inicio  del  proyecto.  Dicho  desorden  se  acumula  hasta  el  punto  en  que  resulta  muy  costoso  mantener  el  código  fuente.    

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   36  

Page 37: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Este  ejemplo  demuestra  como  los  4pos  de  variables  en  PHP  cambian  sin  hacer  referencia  explícita  a  este  cambio.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   37  

Page 38: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Resultado  de  ejecutar  el  código  del  ejemplo  anterior.  El  restulado  es  un  string.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   38  

Page 39: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  nueva  versión  del  clásico  “Hola  Mundo!”  u4lizando  variables.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   39  

Page 40: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Este  es  un  primer  ejercicio  para  familializarse  con  la  sintaxis  de  PHP,  el  uso  de  variables  y  la  documentación  en  línea.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   40  

Page 41: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   41  

Page 42: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Resultado  del  ejercicio.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   42  

Page 43: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

El  parámetro  "d/m/Y  h:i:s”  dentro  de  la  función  date,  resulta  en  que  la  fecha  se  devuelva  con  el  formato  dia/mes/año  hora:minutos:segundos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   43  

Page 44: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

El  alcance  (scope)  de  una  variable  determina  desde  donde  esta  puede  ser  accedida.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   44  

Page 45: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  no4ficación  se  genera  porque  la  variable  $variable_entera  no  existe  dentro  del  ambiente  de  la  función.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   45  

Page 46: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  vez  declarada  como  global  la  variable  $variable_entera,  esta  pasa  al  ambiente  de  la  función  y  su  valor  se  puede  imprimir.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   46  

Page 47: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  lista  completa  de  variables  superglobales  se  encuentra  en  php.net  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   47  

Page 48: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Funciones  ú4les  al  momento  de  manipular  variables  y  verificar  su  existencia.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   48  

Page 49: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  vez  que  se  4enen  las  variables,  estas  deben  poder  ser  operadas  para  llevar  a  cabo  tareas  fundamentales.  Este  apartado  explora  el  uso  de  los  operadores  en  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   49  

Page 50: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Los  operadores  matemá4cos  trabajan  sobre  datos  de  4po  entero  o  real  y  producen  un  nuevo  dato  de  4po  entero  o  real  según  sea  la  definición  de  la  operación  y  los  valores  de  entrada.  Los  operadores  matemá4cos  son  binarios,  es  decir,  actúan  sobre  dos  variables  para  producir  un  nuevo  valor.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   50  

Page 51: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  concatenación  de  string  es  una  operación  fundamental  de  PHP  y  será  ampliamente  u4lizada  a  lo  largo  de  este  curso.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   51  

Page 52: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Al  igual  que  los  operadores  matemá4cos,  los  operadores  de  asignación  son  operadores  binarios.  En  este  caso  se  4ene,  por  una  parte,  una  variable  a  la  que  se  le  va  a  asignar  un  valor  y,  por  otra  parte,  una  expresión.  El  resultado  de  la  operación  es  asignar  el  resultado  de  la  expresión  a  la  variable  en  cues4ón.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   52  

Page 53: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Operadores  especiales.  No  son  muy  comúnmente  u4lizados  pero  pueden  resultar  ú4les  en  ciertas  ocasiones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   53  

Page 54: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   54  

Page 55: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  es  un  lenguaje  flexible.  Esta  flexibilidad  se  pone  de  manifiesto  en  la  facilidad  con  la  que  se  pueden  manipular  strings  o  cadenas  de  caracteres.  En  este  apartado  exploramos  los  strings  en  el  contexto  de  un  script  en  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   55  

Page 56: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Algunas  notas  sobre  strings.  Recordar  que  con  mayor  flexibilidad  también  aumenta  la  posible  confusión  que  se  pueda  presentar  en  el  código.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   56  

Page 57: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  secuencia  de  escape  es  u4lizada  en  caracteres  para  los  cuales  existe  ambigüedad  al  momento  de  imprimirlos.  La  secuencia  de  escape  precede  dicho  caracter  por  un  backslash  (\).  Algunas  secuencias  de  escape  comúnmente  u4lizadas  son:  \n  para  un  salto  de  línea,  \t  para  tab,  \\  para  backaslash,  \"  para  comillas  dobles,  y  \$  para  signo  de  dólar.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   57  

Page 58: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   58  

Page 59: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Se  imprime  el  string  textualmente  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   59  

Page 60: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   60  

Page 61: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Se  interpreta  el  contenido  del  string  antes  de  imprimirlo  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   61  

Page 62: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Las  funciones  nos  proveen  de  herramientas  para  customizar  nuestro  código  y  hacerlo  más  legible  y  comprensible.  En  este  apartado  trabajamos  con  funciones  definidas  por  el  usuario  en  PHP.  Se  enseña  como  crear  una  función  y  se  da  un  ejemplo  prác4co  de  su  uso.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   62  

Page 63: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Algunas  de  las  caracterís4cas  de  las  funciones  en  general  que  aplican  para  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   63  

Page 64: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Definición  de  una  función  muy  sencilla.  El  concepto  de  función  se  inspira  en  el  de  una  función  matemá4ca  en  cuanto  que  se  pueden  tener  múl4ples  variables  de  entrada  pero  sólo  una  salida.  Sin  embargo,  visto  desde  un  mayor  nivel  de  abstracción,  esta  salida  o  valor  de  retorno  pudiera  ser  una  variable  de  4po  estructurado  que  da  cabida  a  devolver  más  de  un  valor.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   64  

Page 65: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   65  

Page 66: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   66  

Page 67: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   67  

Page 68: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Este  segundo  ejercicio  añade  complejidad  a  una  página  web  sencilla.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   68  

Page 69: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   69  

Page 70: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

El  trabajo  que  se  podría  tornar  tedioso  se  hace  sencillo  con  el  uso  de  funciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   70  

Page 71: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

El  código  resulta  mucho  más  sencillo  de  enteder  y  por  ende  de  actualizar.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   71  

Page 72: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

En  los  lenguajes  impera4vos,  las  estructuras  de  control,  junto  con  las  variables,  forman  los  bloques  fundamentales  para  la  construcción  de  cualquier  programa.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   72  

Page 73: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  orientado  a  objetos  es  el  curso  que  le  sigue  a  este.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   73  

Page 74: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Definición  tomada  de  Wikipedia.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   74  

Page 75: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

En  esta  sección  se  estudia  los  condicionales  if,  if-­‐else,  if-­‐elseif-­‐else,  switch  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   75  

Page 76: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

If  sencillos.  Este  es  el  bloque  básico  de  construcción  en  un  lenguaje  impera4va.  La  sintaxis  en  PHP  es  muy  sencilla,  tal  como  se  muestra  arriba.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   76  

Page 77: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Las  tareas  son  mutuamente  excluyente,  lo  que  significa  que  la  realización  de  una  de  ellas  impide  la  realización  de  la  otra.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   77  

Page 78: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Se  puede  tener  cualquier  can4dad  de  bloques  “else  if”  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   78  

Page 79: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Como  PHP  es  un  lenguaje  débilmente  4pado,  provee  operaciones  de  comparación  sobre  valores  y  4po  de  datos  como  una  forma  de  controlar  la  ejecución  de  los  scripts.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   79  

Page 80: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Operadores  lógicos  (también  llamados  booleanos)  clásicos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   80  

Page 81: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Un  ejercicio  para  familiarizarse  con  las  estructuras  de  control  básica.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   81  

Page 82: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   82  

Page 83: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Se  despliega  el  día  de  la  semana  actual,  sin  necesidad  de  cambiar  el  código  por  parte  del  usuario.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   83  

Page 84: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Código  solución  Ejercicio  3.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   84  

Page 85: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Switch  clásico.  Combina  varios  if  en  un  solo  bloque.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   85  

Page 86: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Los  loops  (en  inglés)  o  bucles  (traducción  al  español)  son  mecanismos  de  los  lenguajes  de  programación  modernos  que  le  permiten  al  usuario  realizar  tareas  repe44vas  de  manera  sencilla.  En  esta  sección  estudiaremos  estos  mecanismos  en  el  contexto  de  PHP  y  programación  para  la  web.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   86  

Page 87: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   87  

Page 88: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Si  un  script  tarda  más  de  30  segundos  en  ejecutarse,  php  lo  abortará.  Esto  también  ocurre  si  el  script  consume  más  de  32MB  de  memoria.  En  el  caso  en  que  un  script  quede  en  un  loop  infinito,  en  30  segundos  el  programa  será  abortado  automá4camente.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   88  

Page 89: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   89  

Page 90: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   90  

Page 91: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   91  

Page 92: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   92  

Page 93: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   93  

Page 94: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   94  

Page 95: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   95  

Page 96: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Un  programa  para  la  web  no  puede  ser  autocontenido  o  cerrado.  Por  el  contrario,  la  única  forma  de  que  una  página  web  sea  dinámica  y  ú4l  para  el  cliente  es  si  éste  es  capaz  de  proveerle  información.  En  esta  sección  veremos  como  es  posible  esa  comunicación  entre  cliente  y  código  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   96  

Page 97: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Existen  dos  formas  básicas  de  recibir  parámetros  por  parte  del  cliente,  GET  y  POST.  Cada  una  presenta  sus  desventajas  y  ventajas.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   97  

Page 98: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Esto  sólo  funciona  para  recibir  parámetros  via  web  browser.  Para  recibir  parámetros  a  través  del  terminal  existen  otros  mecanismos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   98  

Page 99: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Ejemplo  prác4ca  del  uso  de  los  parámetros  4po  GET  para  comunicar  una  página  web  con  el  cliente.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   99  

Page 100: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

GET  son  los  parámetros  que  se  reciben  por  el  url.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   100  

Page 101: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Ejemplo  de  SQL  Injec4on.  U4lizar  los  valores  de  los  parámetros  que  se  reciben  directamente  del  usuario  es  fuente  cómun  de  brechas  en  la  seguridad  del  sistema.  Estos  parámetros  se  deben  procesar,  es  decir,  asegurarse  que  con4enen  información  válida  y  no  riesgosa,  antes  de  u4lizarlos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   101  

Page 102: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  forma  más  común  de  pasar  parámetros  es  a  través  del  POST.  Permite  enviar  una  can4dad  mucho  mayor  que  GET  y  además  esconde  el  mecanismo  como  se  pasan  los  parámetros  al  cliente  “de  a  pie”.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   102  

Page 103: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   103  

Page 104: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   104  

Page 105: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   105  

Page 106: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   106  

Page 107: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   107  

Page 108: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   108  

Page 109: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   109  

Page 110: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   110  

Page 111: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Los  4pos  de  datos  estructurados  elevan  el  nivel  de  abstracción  del  lenguaje  y  permiten  un  uso  más  eficiente  de  los  recursos  del  sistema,  así  como  una  mayor  legibilidad  y  mantenimiento  del  código.  Un  nivel  aún  mayor  de  abstracción  lo  posee  la  programación  orientado  de  objetos.  En  este  curso  sólo  vamos  a  tratas  con  datos  estructurados  del  4po  arreglos.  En  el  curso  siguiente  trataremos  con  programación  orientada  a  objetos  en  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   111  

Page 112: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

U4lizar  un  arreglo  para  ordenar  los  datos  que  provienen  como  parámetros  del  usuario  ($_GET  y  $_POST),  provee  de  una  forma  lógica  de  agrupar  datos  relacionados  con  un  solo  punto  de  acceso.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   112  

Page 113: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Ejemplo  de  organización  lógica  de  datos  en  arreglos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   113  

Page 114: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Agregar  datos  a  un  arreglo  es  muy  sencillo,  otra  caracterís4ca  interesante  de  PHP.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   114  

Page 115: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Acceder  a  un  elemento  de  un  arreglo  es  tan  fácil  como  referenciar  su  posición.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   115  

Page 116: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Una  vez  que  se  4enen  los  datos  en  un  arreglo,  con  PHP  se  puede  iterar  sobre  dichos  datos  muy  cómodamente.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   116  

Page 117: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Ejemplo  npico  de  datos  provenientes  de  un  arreglo:  una  lista  de  elementos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   117  

Page 118: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Los  arreglos  asocia4vos  se  asemejan  más  al  lenguaje  natural  y  pueden  resultar  más  ú4les  en  can4dad  de  ocasiones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   118  

Page 119: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Ejemplo  de  arreglo  asocia4vo.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   119  

Page 120: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   120  

Page 121: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   121  

Page 122: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   122  

Page 123: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   123  

Page 124: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   124  

Page 125: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   125  

Page 126: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Otro  pivote  sobre  el  que  giran  las  aplicaciones  web  es  el  uso  de  base  de  datos.  En  este  curso  exploramos  como  es  la  interacción  entre  PHP  y  las  base  de  datos  4po  MySQL  para  generar  aplicaciones  web  dinámicas.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   126  

Page 127: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

PHP  posee  extensiones  para  varios  4pos  de  base  de  datos.  Sin  embargo,  en  este  curso  sólo  u4lizaremos  base  de  datos  MySQL.  

En  esta  lámina  se  muestran  algunas  de  las  caracterís4cas  de  la  nueva  extensión  de  PHP  para  conexión  con  MySQL.  En  este  curso  u4lizaremos  mysql  desde  un  enfoque  procedimental.  En  cursos  siguientes  u4lizaremos  la  extensión  orientada  a  objetos.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   127  

Page 128: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   128  

Page 129: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

La  implementación  de  las  bases  de  datos  está  sujeta  a  las  caracterís4cas  del  ambiente  de  desarrollo.  Aquí  se  presenta  un  esquema  común  a  la  fecha,  para  sistema  linux.    

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   129  

Page 130: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   130  

Page 131: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   131  

Page 132: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   132  

Page 133: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Para  chequear  si  la  conexión  fue  exitosa  u4lizamos  la  función  mysqli_connect_errno(),  la  cual  devuelve  un  número  de  error  en  caso  en  que  ocurra  algún  error  o  cero  en  caso  contrario.  Si  ocurre  un  error,  podemos  obtener  detalles  del  mismo  a  través  de  la  función  mysqli_connect_error().  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   133  

Page 134: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   134  

Page 135: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   135  

Page 136: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   136  

Page 137: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   137  

Page 138: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   138  

Page 139: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   139  

Page 140: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   140  

Page 141: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   141  

Page 142: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   142  

Page 143: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   143  

Page 144: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Este  ejercicio,  de  larga  duración,  busca  consolidar  conocimientos  y  acercar  al  usuario  a  lo  que  en  realidad  sería  el  desarrollo  con  PHP  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   144  

Page 145: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   145  

Page 146: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

De  las  ideas  plasmadas  anteriormente  vamos  a  implementar  sólo  algunas.  Se  deja  como  ejercicio  al  lector  implementar  el  resto.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   146  

Page 147: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Modelo  sencillo  para  nuestra  aplicación  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   147  

Page 148: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   148  

Page 149: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Posible  planificación  de  la  interacción  y  estructura  de  los  archivos  PHP  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   149  

Page 150: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Seguir  las  instrucciones.  

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   150  

Page 151: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   151  

Page 152: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   152  

Page 153: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   153  

Page 154: Este%curso%formaparte%de% una%seriede% …enriqueareyan.com/files/curso-PHP/basico/Curso - PHP Basico.pdf · Pueden%contactarme%a travésdel correo%electrónico%enrique3@gmail.com%

Curso  PHP  Básico  

©  Curso  creado  por  Enrique  Areyán.   154