180 likes | 409 Views
Programación PHP orientada a objetos, con separación por capas y Smarty. Daniel Correa Botero. ¿Por qué usar PHP?. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno.
E N D
Programación PHP orientada a objetos, con separación por capas y Smarty Daniel Correa Botero
¿Por qué usar PHP? • Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. • A diferencia de java, c++, entre otros; no se necesita que cada usuario lo tenga instalado en su computador. • Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. • Indexa muy rapido en los buscadores.
¿Por qué usar PHP? • Esta muy bien documentado, existen miles de tutoriales en la web para hacer casi cualquier cosa. • Es un lenguaje de fácil entendimiento además de que se integra muy bien con otros lenguajes como javascript, css, entre otros. • Permita la programación orientada a objetos.
¿Que es la separación por capas? • Son divisiones que se le dan al código, para hacerlo mucho mas entendible y sostenible atreves del tiempo, esto garantiza un código reutilizable. • Algunas capas:- Gestor: capa donde van todas las consultas sql y la conexión a la base de datos.- Vista: capa donde va todo el código html- Objetual: capa donde van los objetos php, los atributos y funciones.
¿Que es Smarty? • Smarty es la herramienta clave para poder hacer la separación por capas, simplemente permite al programador separar el código php del html y usar una serie de etiquetas smarty. • Entre algunas de las ventajas: - Crear paquetes de variables globales (por ejemplo para el manejo de idiomas)- Activar un cache (el cual acelera la velocidad de la pagina)- Tener organizados los templates en un solo sitio, tener templates pre-compilados y mucho más.
¿Que es programación orientada a objetos? • Es simplemente una forma de programar donde se usan clases, métodos, atributos, herencia, abstracción, polimorfismo y encapsulamiento. • Permiten al programador tener un código mas acorde con la realidad; ejemplo: persona tiene cedula, nombre y apellido.
Problemas actuales con la programacion Web • Cada quien programa “como se le da la gana” • No hay una serie de lineamientos ni bases que permitan rehusar fácilmente el código de otro programador en nuestros trabajos. • Muchas veces ni siquiera podemos rehusar nuestro propio código.
Problemas actuales con la programacion Web • Sin bases ni lineamientos el trabajo en equipo se vuelve muy complicado y al final una sola persona termina desarrollando todo el producto. • Los programados tienden a hacer del código un “vomito”.
¿Hacer todo desde 0? • SI! • Usar joomla, wordpress, vbulletin, phpbb, pkpnuke u alguna otra plataforma nos esclaviliza. • Muchas veces se gasta mas tiempo aprendiendo a modificar un joomla que haciendo una pagina web completa desde 0.
¿Hacer todo desde 0? • Estas plataformas son fáciles de hackear si no tienen actualizadas a la ultima versión.Hackear un desarrollo desde 0 es muchísimo mas complicado. • Hay gente que utiliza estas plataformas simplemente para mostrar una misión, visión y contacto. Cosas que no gastan mas de 500 kb y joomla usa mas de 20 mb. • Hay gente que usa estas plataformas, y si no encuentran algún plugin en internet quedan “jodidos” y se tienen que acomodar a lo que encuentren.
¿Por qué usar MySql? • Por que es gratis y por que la mayoría de los lenguajes de programación permiten la conexión con MySql. Y no más. • ORACLE es la mejor opción pero es muy costosa.
Compañías en Colombia • Sacan un desarrollo estándar de CRM muy completo y complicado y lo venden a todas las compañías sin basarse en las necesidades de cada una. • No actualizan a los últimos avances en desarrollo de software. • Precios muy altos. • Acompañamiento muy pobre a los clientes. • En la actualidad existe mucha demanda y poca oferta.
Diferencias entre técnicos y tecnólogos VS ingenieros • Los ingenieros tienen ventaja en la teoría que se les da. • Los ingenieros tienen mas experiencia con el desarrollo de problemas lo cual les da ventaja a la hora de desarrollo de software o webs. • A los ingenieros se les enseña muy bien las clases, los objetos, los métodos actuales, muchos lenguajes diferentes y se les invita a mantenerse actualizado en los nuevos desarrollos; muchos técnicos ni siquiera saben que es una clase.
Algunos temas interesantes • Sqlinjections • DOM • Gridtables • AJAX • Triggers • SEO!! • Optimización de consultas • Excepciones • Cronjobs
Algunas herramientas interesantes • Wysiwyg • Datepickers • Sliders • Scripts para fb, g+, twitter • DOMPDF • MDB2 • Pagination • Errores 404 • Google apps • Google Analytics