La comunidad PHP Puebla está formada por un grupo entusiasta de voluntarios con el objetivo de promover el uso de buenas prácticas entre los desarrolladores PHP de Puebla • Nuestras principales actividades consisten en asistir a eventos sobre desarrollo Web impartiendo talleres y conferencias. • También organizamos el PHP Day Puebla, un evento anual con conferencias y talleres gratuitos.
Guzzle? 2)Instalación 3)Conceptos básicos de HTTP 4)Creación de clientes HTTP 5)Objetos Request 6)Objetos Response 7)Redirects 8)Sistema de plugins 9)Clientes de Web services
• Guzzle es un cliente HTTP y un framework PHP para crear clientes de servicios Web. • Guzzle facilita el envío de solicitudes HTTP y elimina la redundancia de crear clientes de servicios Web.
forma preferida de instalar Guzzle es usando Composer • # Instala Composer curl -sS https://getcomposer.org/installer | php # Agrega Guzzle como dependencia php composer.phar require guzzle/guzzle:v3.7.3 • Instalación de Composer en Windows – https://getcomposer.org/Composer-Setup.exe
• Cada que haces clic, tu navegador hace una solicitud a un servidor (request), el servidor la procesa y manda de vuelta una respuesta (response) • En todos los casos hay un cliente que hace una solicitud y un servidor que envía una respuesta
• Cuando se trata de APIs construimos el servidor con PHP, pero también podemos consumir la API con PHP (crear un cliente) • Tanto el cliente como el servidor van a usar solicitudes y respuestas.
Los verbos HTTP nos sirven para decirle al servidor que tipo de operación queremos realizar • GET. Cuando usamos el verbo GET la solicitud no produce ningún cambio en el servidor • POST. El verbo POST si produce cambios en el servidor.
• PUT. El verbo PUT se utiliza comúnmente para indicar que se está haciendo una actualización a un recurso existente en un servidor. • DELETE. El verbo DELETE indica que eliminaremos un recurso en un servidor. • OPTIONS. Indica que otros verbos son permitidos para un recurso dado • HEAD. Es identico a GET solo que no envía el cuerpo de la solicitud
las solicitudes como las respuestas están formadas por headers (encabezados) y un body (cuerpo). • Si imaginamos una carta con una tarjeta de felicitación, los headers serían la dirección y el timbre postal.
• User-Agent. Contiene el nombre del navegador, dispositivo o programa que realiza una solicitud. • Content-Type. Describe cual es el formato que tiene el body, por ejemplo HTML, JSON, texto plano, etc. • Accept. Indica que tipo de contenido es aceptable.
• Header Accept de Chrome Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 • Indica las siguientes preferencias text/html application/xhtml+xml application/xml */* (cualquier otro formato) • El valor de q indica que tan importante es una opción el valor default es 1.
• Authorization: La forma más simple de proteger una página es usar autenticación básica HTTP, para esto simplemente mandamos nuestro usuario y contraseña en base64 con el formato usuario:contraseña Authorization: Basic usuario:contraseña • Ejemplo con Slim.
(REpresentational State Transfer) • En REST se usan verbos HTTP para crear un CRUD (Create, Read, Update, Delete) básico con los verbos POST, GET, PUT, y DELETE • Estas operaciones se realizan sobre recursos • Los servicios REST transfieren representaciones de recursos (JSON, XML, XHTML).
Ejemplos de URLs CRUD en un servicio REST GET http://comunidadphppuebla/api/users/1 POST http://comunidadphppuebla/api/users PUT http://comunidadphppuebla/api/users/1 DELETE http://comunidadphppuebla/api/users/1
participar? – Como voluntario, ayudando a organizar y participando en los eventos de la comunidad – Como promotor (a través de redes sociales, sitios web o algún otro medio de difusión) – Como patrocinador de conferencias y talleres gratuitos, ya sea de forma económica o en especie