Curso PHP Fundamentals. PHP Fundamentals



Documentos relacionados
Curso PHP Advanced and Ajax

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Qué es PHP? Example #1 Un ejemplo introductorio "<?,?>".

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 1 FUNDAMENTOS DE PHP

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Curso PHP Fundamentals. PHP Fundamentals

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Unidad V: Programación del lado del servidor

INTRODUCCIÓN A PHP. Javier Enciso

CMS JOOMLA. Características

Curso de PHP con MySQL Gratis

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Popularidad comparada de PHP vs ASP, y posibles causas

PROGRAMACIÓN PÁGINAS WEB CON PHP

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 4: Lección Evaluativa 1

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Capítulo 1 Documentos HTML5

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

De principiante a Desarrollador Web. casivaagustin@gmail.com

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu

Capítulo 5. Cliente-Servidor.

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?

Descripción. Este Software cumple los siguientes hitos:

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Studium, Campus Virtual de la Universidad de Salamanca.

Instalación Joomla. Instrucciones para instalar Joomla en un pc en la red local del instituto, o en un servidor en Internet

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Modelo de Objetos Distribuidos

Crear un servidor Web en IIS

DESARROLLA TU BLOG O PÁGINA

Windows Server Windows Server 2003

Desarrollo Web en Entorno Servidor

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

DESARROLLO WEB EN ENTORNO CLIENTE

DISEÑO DE PÁGINAS WEB ING. CIP EDGAR CRUZ

Introducción a la extensión de scripting en gvsig 2.0

TRANSFERENCIA DE FICHEROS FTP

Web. Web Diapositiva 1

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

CAPÍTULO 3 VISUAL BASIC

INSTALACION DE UN SERVIDOR LOCAL CON EasyPHP

BUENOS DIAS! Ing. Germán Ziegler

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

GLOSARIO. un conjunto de noticias, ordenado por fecha. CMF (Content Management Framework) - Entorno a programación de

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Introducción a PHP. * No es necesario declarar previamente las variables.

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Guía Rápida de Inicio

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Visión General de GXportal. Última actualización: 2009

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Julio Cesar Hernández García

PDF created with pdffactory Pro trial version

Cómo resolver errores comunes a la hora de programar con PHP

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Introducción al desarrollo WEB. Tecnologías Web

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

Usar Epoptes en Huayra

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

HOSTING TIPOS DE ALOJAMIENTO WEB EN INTERNET

TEMA 8. Internet y la World Wide Web. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca

WINDOWS : TERMINAL SERVER

Ambos paquetes simplifican mucho la instalación del servidor en el equipo. Y ambos pueden ser utilizados para la creación de una red intra-aula.

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

Servidor FTP en Ubuntu Juan Antonio Fañas

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web

Tema Tecnologías de Desarrollo

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

PLAN FORMATIVO MODALIDAD I

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

Dossier de prácticas

Programación páginas web con ASP.NET 3.5 (C#)

Presentación y Planificación del Proyecto: Administración de Calzado

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

DIPLOMADO EN SEGURIDAD INFORMATICA

SISTEMAS DE NOMBRES DE DOMINIO

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

Transcripción:

Curso PHP Fundamentals PHP Fundamentals

Repaso PHP Fundamentals

Página del Curso Página del Curso: http://bbsoftpy.net/cursophpfundamentals2013/

La Web Web = Internet?

Modelo Cliente-Servidor

Modelo Cliente-Servidor

Arquitectura Web En la arquitectura Web, se distinguen dos lados claramente diferenciados: Lado Cliente Lado Servidor

Arquitectura Básica de la Web Se pueden resaltar principalmente los siguientes elementos: Browsers (Software) Client Side Servidores Web (Software) Server Side Interpretes o compiladores (software) Server Side Servidores de Base de Datos (Software) Server Side Servidores de Aplicaciones (Software) Server Side Redes de Computadoras (Físico) - Plataforma Recursos Web (Archivo Digital) Server Side Pilares de la Web (protocolos y tecnologías) - Plataforma

Client-Side Lenguajes o tecnologías del lado del cliente HTML/XHTML Javascript DHTML (Dinamic HTML) JAVA (Applets de Java) Visual Basic Script Flash CSS

Server Side Lenguajes de lado servidor ASP/ASP.NET(*.asp/*.aspx) ColdFusion Markup Language (*.cfm) (TrustLeap G-WAN) C Scripts (*.c) Java via JavaServer Pages (*.jsp) PHP (*.php) Perl(*.pl) SMX (*.smx) Python (*.py) Ruby (*.rb) Lasso (*.lasso) Otros lenguajes

Sitios Web Estáticos

Sitios Web Dinámicos

Interacción Solicitud - Respuesta 2 p:/ htt w / ww o.g o IP r. Di http://www.google.com/ 1 :1. gle. 73 / com 19 4.1. 34 Recurso WEB 7 5 04 3 HTTP 8 4 HTTP 9 6

Pilares Básicos de la Web Desde el punto de vista técnico, los tres pilares básicos sobre los que se sustenta la arquitectura lógica de la Web, los cuales fueron propuestos por Tim Berners-Lee, son: Un esquema de notación uniforme para ubicar los recursos a través de la red: El esquema de notación uniforme fue denominando Uniform Resource Identifier - URI. Por razones históricas, es más comúnmente referenciado como Uniform Resource Locator URL Un lenguaje universal para formatear los documentos de hipertexto: El lenguaje de marcado que permitía la referencia cruzada de documentos a través de los enlaces de hipertexto fue el Hypertext Markup Language HTML Un protocolo para transportar los mensajes a través de la red: El protocolo diseñado para transportar los mensajes especializados a través de la red, el cual es el principal fundamento de la Web, es el Hyper Text Transfer Protocol HTTP

HTTP - Características El protocolo HTTP posee algunas características que se mencionan a continuación: Es simple Usa el paradigma de solicitud-respuesta. Un cliente HTTP establece una conexión con el servidor y envía un mensaje de solicitud HTTP al servidor HTTP, el cual retorna un mensaje de respuesta HTTP, posteriormente la conexión es liberada Es un protocolo basado en ASCII Es un protocolo sin estado (stateless). Opera sobre un puerto bien conocido TCP, por defecto el puerto 80. No es un protocolo seguro, transporta información no cifrada por la red. Para seguridad se utiliza HTTPS Permite la transferencia de objetos multimedia

Diferencias Conceptuales Páginas Web Vs Sitios Web Vs Portales Web Vs Aplicaciones Web Vs Sistemas Web

Cualidades de las Aplicaciones Web Intensidad de red Concurrencia Carga impredecible Desempeño Disponibilidad Gobernada por los datos Sensibilidad al contenido Evolución Continua Inmediatez Seguridad Estética

Funcionalidades de un Servidor Web Función principal: esperar conexiones de los clientes y servir los recursos que éstos piden. Ejecución eficiente Ejecución Multitarea Peticiones Autenticadas Restricción de Acceso Gestión de errores Gestión de diferentes formatos de información Almacenamiento de logs

Servidor Web Estructura Funcional

Ranking de Servidores Web

Aspectos Importantes Lenguajes de scripting Interprete vs Compilador Lenguajes compilados vs Lenguajes interpretados (diferencias)

Lenguajes de Scripting Scripting language (lenguaje de guión): guión Un lenguaje de scripting es un tipo de lenguaje de programación que es generalmente interpretado Los scripts permanecen en su forma original (su código fuente en forma de texto) y son interpretados comando por comando cada vez que se ejecutan (puede haber script compilados pero no es común)

Características de los lenguajes de Scripting Características Los scripts suelen escribirse más fácilmente, pero con un costo sobre su ejecución (hoy en día eso va cambiando) Suelen implementarse con intérpretes en lugar de compiladores Tienen fuerte comunicación con componentes escritos en otros lenguajes Los scripts suelen ser almacenados como texto sin formato No exigen mucha disciplina para usarlos (fácil comenzar a usarlos difícil dominarlos) Suelen permitir el uso de variables no tipadas Tipeo dinámico flexible (Dynamic Typing)

Características de los lenguajes de Scripting Características Sencillez Expresividad Productividad Alto nivel de abstracción Bajo costo Acceso fácil a otros programas. Ejemplo: acceso a SO Manejo sofisticado de cadenas Permiten diferentes paradigmas de programación La curva de aprendizaje es menos pronunciada Alto nivel de portabilidad Los códigos suelen ser más pequeños que el equivalente en un lenguaje de programación compilado

Lenguajes de Scripting Java class Hello { public static void main(string[] args) { System.out.println("Hello, world!"); } } Python print "Hello, world!\n PHP echo HOLA ; Lenguajes de scripting

Tipos de lenguajes de scripting Lenguaje de control de tareas y shells: shells cmd.exe, sh, Dos, etc GUI Scripting (interactúan con elementos de las interfaces gráficas). Lenguajes de macros. Ejemplo: AutoHotKey, Expect Lenguaje scripting de aplicaciones específicas: específicas ActionScript en Flash, MATLAB De programación web: web PHP, ASP, JSP, ColdFusion, Lasso, etc Lenguajes de procesamiento de textos: textos AWK, Perl y XSLT Lenguajes dinámicos de propósito general: general APL, Boo, Dylan, Ferite, Groovy, Io, Lisp, Lua, MUMPS (M), newlisp, Nuva, Perl, PHP, Python, Ruby, Scheme, Smalltalk, SuperCard, Tcl, Revolution

Interprete - Compilador Interprete y el compilador son programas (software) Se instalan en el servidor/máquina de desarrollo

Compilador

Interprete

Lenguajes Compilados vs Lenguajes Interpretados Lenguajes Compilados Lenguajes Interpretados Utilizan un compilador (software) Utilizan un intérprete (software) Genera un código objeto No genera nada Ejecuta el script El proceso de traducción se genera una sola vez Ejecución más rápida (en teoría) El proceso de traducción se realiza en cada ejecución Ejecución más lenta (en teoría) El código objeto va destinado a una plataforma específica (ligados a plataforma destino) Se debe recompilar Más potentes por estar ligados a la plataforma (en teoría) El código fuente puede permanecer en secreto No hay ejecutable. Si hay intérprete en la plataforma se puede ejecutar. Son más portables Menos ligados a la plataforma El código fuente es necesaria para cada ejecución, no es secreto (se puede encriptar)

Lenguajes Compilados vs Lenguajes Interpretados Lenguajes Compilados Lenguajes Interpretados Los errores sintácticos se detectan en tiempo de compilación Los errores sintácticos se detectan durante la ejecución, ya que traducción y ejecución se van haciendo simultáneamente La ejecución del script está bajo el control del intérprete y no sólo del SO Un programa compilado puede afectar la estabilidad de la plataforma (el so debe interrumpir su ejecución) Al compilador se lo compara con un Se lo compara con un traductor traductor de idiomas (traductor de libros) simultáneo de idioma (traductor de una conferencia)

PHP - Hypertext Preprocessor PHP Fundamentals

PHP REFERENCIAS PHP Fundamentals

Referencias Página oficial: http://www.php.net/ Página de Zend Technologies: http://www.zend.com/en/ Página de comunidad de habla hispana: http://www.php-hispano.net/ Manual de PHP on-line en español http://www.php.net/manual/es/ Referencia de funciones http://php.net/manual/es/funcref.php Para consultar una función se puede hacer http://www.php.net/nombre_de_la_función Ejemplo de la función count : http://www.php.net/count Esta es la referencia base

Referencias http://www.zonaphp.com/ http://php.soywiz.com/ http://phpsenior.blogspot.com/ http://phpdoctor.net/ http://devzone.zend.com http://www.phparch.com/ http://www.goodphptutorials.com/ http://killerphp.com/ http://www.phpbuddy.com/

Referencias http://www.phpclasses.org/ http://www.phpfreaks.com/ http://www.openbiz.me/jim/ http://phpvideotutorials.com/ http://php.resourceindex.com/ http://www.cesarcancino.com/

PHP Breve Historia PHP Fundamentals

Historia PHP fue originalmente diseñado en Perl por Rasmus Lerdorf en el año 1994 para mostrar su currículum vitae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía Las siglas originales de PHP significaban Personal Home Page En 1997, PHP/FI 2.0 sale a la luz, totalmente escrita en C Zeev Suranski y Andi Gutmans (dos estudiantes israelíes) encontraron que PHP/FI 2.0 tenía pocas posibilidades para desarrollar una aplicación comercial que estaban desarrollando para un proyecto universitario

Historia Zeev Suranski y Andi Gutmans re-escriben PHP y lanzan PHP 3 PHP 3.0 se liberó oficialmente en Junio de 1998, después de haber gastado unos 9 meses en pruebas públicas Creadores de la empresa ZEND Technologies (1999) en Ramat Gan, Israel. PHP ha pasado una serie de evoluciones hasta nuestros días (la versión estable actual es PHP 5.4) Estas distintas evoluciones lo han convertido a PHP en un lenguaje más robusto

Versiones de PHP PHP 1 (1995) PHP 5.1 (2005) PHP 2 (1997) PHP 5.2.0 (2006) PHP 3 (1998) PHP 5.2.17 (2011) PHP 4.0 (2000) PHP 5.3.0 (2009) PHP 4.1 (2001) PHP 5.3.2 (2010) PHP 4.2 (2002) PHP 5.3.3 (2010) PHP 4.3 (2002) PHP 5.3.4 (2010) PHP 4.4.0 (2005) PHP 5.3.5 (2011) PHP 4.4.9 (2008) PHP 5.3.6 (2011) PHP 5.0 (2004) PHP 5.3.7 (2011) PHP 5.3.8 (2011) PHP 5.4 (2012)

PHP Definición y Características PHP Fundamentals

Qué es PHP? PHP es un lenguaje de programación de propósito general, interpretado de lado servidor (server side scripting language), diseñado originalmente para la creación de páginas web dinámicas Actualmente puede ser utilizado también: Desde una CLI (command Line Interface) Aplicaciones con Interfaz gráfica

Características de PHP Lenguaje de scripting de lado servidor (se ejecuta en el server) Interpretado Es un lenguaje de propósito general Es un lenguaje de alto nivel Es multiplataforma Permite programación en diferentes paradigmas (Procedural, Orientado a Objetos)

Características de PHP PHP es que evoluciona al ritmo de Internet PHP fue hecho pensado en Internet Se adapta muy fácil a todas las necesidades de Internet y a la necesidad de la mayoría de las aplicaciones Web El código fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL

Características de PHP Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones) Es código abierto, por lo que se presenta como una alternativa de fácil acceso para todos Posee gran cantidad de Bibliotecas Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda

Características de PHP Esta incorporándose a ambientes Enterprise (reemplazando a Java y.net) Construido para la Web (fue construido desde el principio para la Web, se centraba en aplicaciones Web, posee un montón de funciones y extensiones que conocen nuestras necesidades. Las características de PHP fueron creadas con la Web en mente) Fácil de aprender. No se necesita ser un graduado en Computer Science para aprender PHP. Lo cual también se convierte en una desventaja Es muy extendido. Es un componente estándar de diversos SO. Es multiplataforma. La mayoría de la empresas que ofrecen hosting lo soporta, esto no pasa con Ruby o Java

Características de PHP Pragmático: Se puede escribir algo en PHP con menos líneas de código que en otros lenguajes. PHP posee muchas funciones que pueden realizar operaciones en una sola línea de código Tiempo en el mercado. La rapidez del desarrollo. PHP se centra en esta rápida salida al mercado Amplia comunidad y documentación Se poseen un gran background de su funcionamiento ya que se viene utilizando con gran éxito desde hace ya más de una década

Características de PHP El interprete PHP se integra fácilmente a los servidores Web más comunes como Apache, IIS, lighttpd, otros PHP posee tipado dinámico (Dynamic Typing) PHP posee Weak Typing Referencia: http://www.slideshare.net/sebastian_bergmann/typesafeobjects-in-php

Desventajas de PHP Fácil de aprender, difícil de dominar: Una dificultad de un lenguaje que sea fácil de aprender es que es dificil lograr resultados de calidad. Si uno crea una aplicación sin mucho conocimiento de SE el resultado puede ser dramático. La flexibilidad (la cual permite resolver problemas de diversas formas), no es un buen camino decirle a los programadores inexpertos que sus soluciones son buenas para todas las circunstancias. Java tiene una barrera natural, un programador Java tiene que tener una cierta habilidad de programación para poder programar en Java, incluso la habilidad del mas principiante en Java seguirá siendo una mayor habilidad que uno con habilidad en PHP. Por eso muchas veces PHP tiene una imagen negativa, debido a que el rango entre una alta o baja calidad en muy grande. Compañías como ZEND intentan mejorar la calidad introduciendo certificaciones para los desarrolladores PHP, para que tengan un skill importante, y publican información de como programar en PHp con un alto grado de calidad y un conjunto de buenas prácticas Inconsistencia. En el nombre de las funciones y los parámetros. Nombres de funciones str_pad() y strlen(), o orden de parámetros en funciones. Se tiene que estandarizar la sintaxis Persistant Objects. HTTP es un protocolo sin estado. Esto significa que cada solicitud se hace independientemente de la otra, y no hay un camino para mantener el estado de una aplicación entre solicitudes.php es un lenguaje sin estado. La vida de objetos y variables no es superior a una simple solicitud. Hay soluciones como las sesiones o las cookies Interpretation vs Compilation

PHP Campos de Utilización PHP Fundamentals

PHP - Hypertext Preprocessor Existen tres campos en los que se usan scripts escritos en PHP Scripts del lado del servidor Scripts en la línea de comandos Escribir aplicaciones de interfaz gráfica

PHP - Hypertext Preprocessor 1- Scripts del lado del servidor. Este es el campo más tradicional y el principal foco de trabajo. Se necesitan tres cosas para que esto funcione. El intérprete PHP (CGI ó módulo), un servidor web y un navegador 2- Scripts en la línea de comandos. Puede crear un script PHP y correrlo sin ningún servidor web o navegador. Solamente necesita el intérprete PHP para usarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente desde cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts también pueden ser usados para tareas simples de procesamiento de texto

PHP - Hypertext Preprocessor

PHP - Hypertext Preprocessor 3-Escribir aplicaciones de interfaz gráfica. Probablemente PHP no sea el lenguaje más apropiado para escribir aplicaciones gráficas, pero si conoce bien PHP, y quisiera utilizar algunas características avanzadas en programas clientes, puede utilizar PHP-GTK para escribir dichos programas. También es posible escribir aplicaciones independientes de una plataforma También está QT-PHP http://gtk.php.net/ http://www.php-qt.org/

Qué se necesita para ejecutar PHP? PHP Fundamentals

Entorno Necesario para PHP Entorno de Producción Servidor Web (Apache,IIS) (Requerido) Interprete de PHP (posee el Zend Engine) (Requerido) Servidor de Base de Datos (PostgreSQL, MySQL, Oracle, SQLServer, Firebird, MongoDB, CouchDB, Sysbase, etc.) (Opcional) Servidor de Aplicaciones (Zend Server) (Opcional) Entorno de Desarrollo Servidor Web (Apache,IIS) (Requerido) Interprete de PHP (posee el Zend Engine) (Requerido) Servidor de Base de Datos (PostgreSQL, MySQL, Oracle, SQLServer, Firebird, MongoDB, CouchDB, Sysbase, etc.) (Opcional) Servidor de Aplicaciones (Zend Server) (Opcional) IDE (Integrated development environment) (ZendStudio, Eclipse, Aptana, NetBeans, entre otros) Si no se utiliza ide se debe utilizar algún editor (Notepad++, Notepad, vim, entre otros)

STACKs PHP Linux, Apache, MySQL y PHP ( LAMP Stack ) LAMP provée a los desarrolladores un conjunto de herramientas libres, fáciles de aprender, y flexibles para la construcción de sitios y aplicaciones Web dinámicos Hoy se utiliza mucho en aplicaciones web empresariales LAPP Stack (Linux, Apache, PostgreSQL y PHP) Paquetes integrados Zend Server (Recomendado) Otros paquetes: XAMPP (independiente del sistema X, Apache, MySQL, PHP y Perl) WAMP (Windows, Apache, MySQL, PHP o Python o Perl) Otras

Aplicabilidad de PHP PHP Fundamentals

Algunos sistemas hechos en PHP Moodle Claroline Mantis bwin Facebook Mantis Wikipedia Wordpress PHPBB Dig Joomla Drupal Zend Framework CakePHP Magento PrestaShop Muchos más

Aplicabilidad de PHP Actualmente PHP se aplica en aplicaciones de pequeña escala a gran escala Páginas Web dinámicas Aplicaciones Web sencillas Web Service Aplicaciones Web medianas Aplicaciones Web Grandes Ambientes Enterprise (utilizando herramientas, Frameworks y bibliotecas Enterprise Ready) Zend Framework, Zend Server, ez Component, PHP Unit, PHP Doc, Zend Studio, Phing, etc.

Ranking del Lenguajes PHP Fundamentals

Ranking de Lenguajes - Junio 2013 http://www.tiobe.com/index.php /content/paperinfo/tpci/index.ht ml

Funcionamiento Básico de PHP PHP Fundamentals

Funcionamiento de PHP El código PHP se embebe (incrusta) en páginas Web HTML/XHTML, que son servidas por un Servidor Web Cuando un usuario desde su navegador hace clic sobre un enlace correspondiente a un documento HTML/XHTML que incluye código PHP, el navegador realiza la solicitud al servidor correspondiente El servidor Web (Apache) localiza el documento, detecta que se trata de una página con código PHP y pone en funcionamiento el intérprete del lenguaje El interprete ejecuta el código PHP (siempre se ejecuta en el servidor) y genera un resultado, generalmente un página Web, que se devuelve al navegador para que realice su visualización

Funcionamiento de PHP En RED HTML, XML, JSON, SOAP, etc

Frameworks PHP PHP Fundamentals

Frameworks PHP Los Frameworks ayudan en el desarrollo de software, proporcionan una estructura definida la cual ayuda a crear aplicaciones con mayor rapidez. Ayuda a la hora de realizar el mantenimiento del sitio gracias a la organización durante el desarrollo de la aplicación Los Frameworks son desarrollados con el objetivo de brindarles a los programadores y diseñadores una mejor organización y estructura a sus proyectos Establecen una forma de trabajo utilizando patrones, buenas prácticas, etc Se utiliza la Programación Orientada a Objetos (POO), permitiendo la reutilización de nuestro código

Frameworks PHP Zend Framework Symfony CakePHP SeaGull Prado CodeIgniter Otros Referencia de comparación entre frameworks PHP: http://www.phpframeworks.com/

Zend Engine PHP Fundamentals

ZEND ENGINE PHP está escrito en C El Zend Engine es lo que se conoce como el core de PHP Se encarga del manejo de memoria y toda la funcionalidad básica de un intérprete Las extensiones pueden ser cargadas por el ZE ó compiladas de forma interna El ZE lleva a cabo el manejo de los ciclos de vida de las extensiones y los scripts Se puede decir que es una virtual machine

Extensiones Las extensiones de PHP son shared object's o DLL's que exponen funcionalidad no disponible en el core de PHP Al iniciar, el core de PHP carga las extensiones requeridas por el script de entrada Las extensiones proveen de su funcionalidad a través de funciones, clases, constantes, etc Cada extensión es responsable de sus recursos. El usuario de la extensión no tiene porque preocuparse de la liberación de recursos Una extensión debe ser nativa para PHP. Nativa significa código escrito en C, ya que la máquina virtual, el compilado y el resto de PHP está escrito en C

Zend Engine y PHP El nombre ZEND se refiere al motor del lenguaje, el core de PHP. Se encarga completamente de 1 y una parte de 2 El término PHP se refiere al sistema completo tal como aparece desde el exterior. Se encarga de 2 y 3 Para implementar un interprete de script Web se necesitan 1- El interprete que analiza el código de entrada, lo traduce y lo ejecuta 2- La funcionalidad que implementan las funcionalidades del lenguaje 3- La interfaz que es la parte que se comunica con el Web server, y con otras partes

Zend Engine y PHP Juntos forman el paquete completo de PHP Zend engine por sí solo conforma el core del lenguaje, e implementa PHP de una manera muy básica con algunas funcionalidades predefinidas PHP contiene todos los módulos que crean las funcionalidades del lenguaje

Zend Engine

UNIDAD 2 PHP Fundamentals

Software que se utilizará en el curso PHP Fundamentals

Opción 1 Maquina Real Como IDE Eclipse Kepler (con el PDT - PHP Development Tools) (Opción 1) Notepad++ (Opción 2) Como Servidor de Aplicaciones Zend Server Community Edition Zend Server incluye Apache PHP (interprete de PHP) Zend Controller (interfaz administrativa) Como motor de base de datos PostgreSQL

Opción 2 Máquina Virtual Como IDE (en máquina real) Eclipse Kepler (con el PDT - PHP Development Tools) (Opción 1) Notepad++ (Opción 2) Software necesario en el lado servidor (Máquina Virtual)

Instalación del Entorno Breve Guía PHP Fundamentals

Opciones para instalar un entorno PHP Primera Opción Instalación tradicional: Instalar Apache, PHP y algún motor de BD (postgresql, MySQL, Oracle, etc) por separado Segunda Opción Instalar un paquete: Instalar WAMP es un paquete que instala Apache, PHP y MySQL en entorno Windows Es de fácil instalación y tiene se propia estructura de directorios Instalar Zend Server Community Edition (instala MySQL y Zend Framework pero es opcional) Instalar otro paquete de entorno similar

Instalación Tradicional PHP Fundamentals

Instalación tradicional Paso 1 Bajar el software: Bajar Apache : http://httpd.apache.org/ (versión actual es 2.4.1) Bajar Interprete de PHP : http://www.php.net/downloads.php (versión actual es 5.4.0) Paso 2 Instalar Apache En windows se despliega un wizard y comienza la instalación En Ubuntu: sudo apt-get install apache2 En RedHat, CentOs: yum install httpd

Instalación Apache en Windows En windows cuando se instala Apache sale la siguiente pantalla En la barra de window indica que apache esta corriendo

Instalación Apache en Windows Una vez instalado se podrá ver el servicio de apache, haciendo clic en el se puede reiniciar, parar y encender el servicio Para saber si esta funcionando debe aparecer el signo play en verde y además se podrá probar abriendo el navegador y escribiendo localhost como url. Deberá atender la página inicial de apache

Instalación Apache en Windows Configurar el repositorio En Ubuntu: sudo apt-get install apache2 En RedHat, CentOs: yum install httpd

Instalación tradicional de PHP Paso 3 Instalar PHP (en Windows) En windows se ejecuta el instalador aparece un wizard y se siguen las instrucciones. En un momento pide especificar el path de configuración del apache. Deberemos elegir el path correspondiente según la instalación anterior. Se continua con la instalación hasta que se concluya. Si es exitosa el instalador avisa de esta situación Paso 3 Instalar PHP (en Linux) En ubuntu: sudo apt-get install libapache2-mod-php5 En CentOS: yum install php

Instalación tradicional Paso 4 Probar la instalación de PHP Hacer un script de PHP y colocarlo en el document root del apache (htdocs en windows según path de instalación y /var/www/html en linux dependiendo de la instalación y de la distribución)

Instalación tradicional Paso 4: El script debe poseer el siguiente código

Instalación de un Paquete PHP Fundamentals

Página de Zend

Bajar Zend Server

Bajar Manuales

Crear Cuenta en Zend

Crear Cuenta en Zend

Crear Cuenta en Zend

Crear Cuenta en Zend

Crear Cuenta en Zend

Crear Cuenta en Zend

Crear Cuenta en Zend

Ejecutar el Instalador

Ejecutar el Instalador

Ejecutar el Instalador

Instalación

Instalación

Instalación

Instalación

Instalación

Instalación

Instalación

Instalación

Instalación

Instalación

Barra de Tarea

Panel de Control del Zend Server

Panel de Control del Zend Server

Panel de Control del Zend Server

Panel de Control del Zend Server

Panel de Control del Zend Server

Zend Server

Zend Server

Zend Server

Zend Server - Document Root

Zend Server

php.ini PHP Fundamentals

php.ini El archivo php.ini es el que contiene la configuración de PHP. Editando éste podemos controlar muchos aspectos de su funcionamiento Este archivo sirve para indicar una serie de valores que determinan el comportamiento del intérprete PHP Se trata de un archivo de texto, que podemos abrir con cualquier editor que trabaje con texto simple (*.txt) La ubicación de éste archivo depende del SO y de la instalación realizada por el usuario

php.ini Lo encontramos dentro de la distribución php en el directorio raiz bajo el nombre php.ini-recommended o php.ini-dist. Windows C:\Archivos de programa\php\php.ini Linux Centos/Red Hat /usr/local/lib/php.ini Ubuntu /etc/php5/apache2/php.ini

Formato php.ini Todo lo que comienza con ; es un comentario y es ignorado Texto marcado entre corchetes, como [PHP] indican la cabecera de una sección Las instrucciones se llaman directivas, y estan formadas por una pareja compuesta por la clave y su valor, por ejemplo: asp_tags = Off Case Sensitive - diferencia entre mayusculas y minusculas En windows las rutas o paths se escriben con la barra invertida (c:\windows) mientras que unix utiliza la barra (/usr/local/bin/...). En php.ini deberas indicar algunas rutas

Formato php.ini Los formatos admisibles son: C:\directorio\directorio \directorio\directorio /directorio/directorio/ Si no especificas la letra de la unidad, se presupone que es la unidad actual (esto es, donde tengas php.exe)

php.ini Se tiene dos formas de instalar php: Cómo módulo del servidor web (Apache) Como cgi (no recomendado) Si tenemos PHP como módulo del servidor, el archivo php.ini se lee cada vez que se reinicia. Por lo tanto tienes que reiniciar para que actualice los cambios. Si PHP está instalado como cgi se leerá el php.ini en cada llamada a PHP El proceso de instalación de PHP en tu ordenador NO crea el archivo php.ini (salvo que sea el Windows installer). Una vez instalado PHP debes escoger uno de los archivos proporcionados como ejemplo y renombrarlos a php.ini: php.ini-recommended php.ini-dist

Principales directivas de php.ini engine = On activa la interpretación de scripts php short_open_tag = On Permite usar en tus scripts etiquetas php abreviadas <?...?>, y el atajo para imprimir variables <%= $valor %>. Si el valor es off, deberás usar la forma <?php...?> o <script>. asp_tags = Off Permite usar etiquetas estilo asp <%... %>. Deshabilitado por defecto precision = 14 número máximo de decimales visualizados

Principales directivas de php.ini error_reporting = E_ALL Fija el nivel (detalle) con el que PHP te informa de errores display_errors = Off determina si los errores se visualizan en pantalla como parte de la salida en HTML o no include_path = ".;c:\php\includes" Permite especificar una lista de directorios en los que las funciones require(), include() y fopen_with_path() buscaran los archivos requeridos.

php.ini Información de php.inic http://www.ignside.net/man/servidores/phpini.php Página de PHP (referencias, downloads, etc.) http://www.php.net/

Tags PHP Para embeber php en páginas html se pueden usar los siguientes tags: Siempre disponibles <?php...?> <script language="php">...</script> Configurables <?= expression?> Esto es una abreviatura de "<? echo expression?>" <%= $variable;%> Esto es una abreviatura de "<% echo..." %>

php.ini

php.ini ; indica una linea comentada

php.ini

php.ini

php.ini

php.ini

httpd.conf PHP Fundamentals

httpd.conf El fichero httpd.conf es el fichero principal de configuración del Apache En primer lugar hay que destacar que el fichero está dividido en tres secciones, que son: Parámetros globales Directivas de Funcionamiento Host Virtuales En el fichero se encuentran todos los parámetros de funcionamiento del Apache

httpd.conf Algunos parámetros son generales para la instalación y funcionamiento del Apache. Muchos otros de los parámetros se pueden configurar independientes para un conjunto de directorios y/o ficheros En estos casos los parámetros se encuentran ubicados dentro de secciones donde se indica el ámbito de aplicación del parámetro

httpd.conf

httpd.conf El # indica una línea comentada

httpd.conf El document root es el directorio donde el servidor va a buscar las solicitudes

httpd.conf

Eclipse PDT PHP Development Tools PHP Fundamentals

Descargar Eclipse Kepler

Se descomprime Eclipse No se instala nada Se inicia el ejecutable

Se ejecuta el eclipse

Se inicia el eclipse

Eclipse Conviene especificar el document root del Apache

Eclipse

Instalar PDT

Instalar PDT

Instalar PDT

Crear un proyecto PHP

Crear un proyecto PHP

Crear un proyecto PHP

Crear un archivo PHP

Crear un archivo PHP

Escribir un archivo PHP

Prácticas PHP Fundamentals

Práctica 1 Probar la instalación de la máquina real del laboratorio Probar la instalación de la máquina virtual del laboratorio Abrir el eclipse, crear un proyecto PHP, crear un archivo PHP y escribir un script que imprima en pantalla HOLA MUNDO!!!!

Práctica 2 Instalar todo el entorno necesario para ejecutar PHP en su máquina personal Servidor Web Intérprete de PHP Se puede instalar un paquete como Zend Server, WAMP, XAMPP, otros Se pide enviar 5 print screen del proceso de instalación (una tiene que ser la página de testeo del servidor web http://localhost) Enviar al mail del profesor la tarea

Práctica 3 Instalar el eclipse PDT Crear un proyecto que se llame proyectophp1 Crear un script que imprima en pantalla su nombre Ejecutar el script Se pide: El script PHP Un print screen de la ejecución del script en el navegador Un print screen del árbol del proyecto Enviar al mail del profesor la tarea

Bibliografía PHP Fundamentals

Bibliografía http://articles.sitepoint.com/article/typing-versus-dynamictyping Jansch,I., Guide to Enterprise PHP Development. php architect s. United States of America. 2008. Manual Oficial de PHP Doyle,M. Beginning PHP 5.3. Wrox. United States of America. 2010. http://www.fayerwayer.com/2010/02/facebook-aplica-ritmo-allenguaje-php-con-hiphop/