Diferencia entre revisiones de «Usuario:ManuelRomero/DAW/Symfony»
De WikiEducator
(→Conceptos básicos) |
|||
(2 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 32: | Línea 32: | ||
*listas de correo http://groups.google.com/group/symfony-es | *listas de correo http://groups.google.com/group/symfony-es | ||
*Canal IRC irc://irc.freenode.net/symfony | *Canal IRC irc://irc.freenode.net/symfony | ||
− | ===Conceptos básicos=== | + | === Conceptos básicos === |
− | + | ||
− | + | ;Se requieren conocimientos de programación en PHP (versión mínima 5.2.4). | |
+ | ;Conocimientos de OOPç | ||
+ | :clase, objeto, método herencia http://www.php.net/manual/es/language.oop5.basic.php. | ||
+ | :'''''Métodos mágicos''''' del tipo __nombreMetodo(). Métodos comunes a todos los objetos que tie pueden sobreescribir y mantienen una finalidad que permite unificarlos para cualquier tipo de objeto. Por ejemplo __toString() nos dará una cadena de caracteres que identifique al objeto; los objetos son de diferente tipo cada uno lo hará de una manera, pero en cualquier objeto sabemos que existe es método y nos intentará dar información en forma de cadena de caracteres. | ||
+ | http://www.php.net/manual/es/language.oop5.magic.php | ||
+ | ;ORM Mapeo de Objeto a Relacional | ||
+ | Symfony nos ofrece una interfaz que permite que trabajemos con objetos y clases aunque en realidad por detrás haya registros y tablas. O sea que traduce la lógica de objetos a lógica relacional. | ||
+ | Entre las herramientas open source que implementan esta funcionalidad Symfony soporta las dos más usadas '''''Porpel''''' http://www.propelorm.org y '''''Doctrine''''' http://www.doctrine-project.org | ||
+ | ;RAD Rapid Application Designe | ||
+ | :Empezar a desarrollar rápidamente usando lenguajes de scriping (php, python, ruby). | ||
+ | :El cliente ve el prototipo funcionando y participa de posibles cambios. | ||
+ | :DRY (Don't Repeat Yourself). Se intenta no repetir el código, se refactoriza en un único lugar. Princip. | ||
+ | :TDD (Test-driven development) el desarrollo a veces está basado en pruebas programas que hay que escribir antes que la aplicación. | ||
+ | Los métodos deben de ser lo más sencillos y directos posibles KISS (Keep it Simple, Stupid). | ||
+ | ;YAML http://www.yaml.org/. Estandar para serializar datos. ''Ain't Markup Language.'' | ||
+ | :Es un lenguaje sencillo que pemite describir datos como XML, pero de una forma más sencilla. | ||
+ | :Utiliza la tabulación para especificar la estructura | ||
+ | <source lang=xml> | ||
+ | casa: | ||
+ | familia: | ||
+ | apellido: García | ||
+ | padres: | ||
+ | - Antonio | ||
+ | - María | ||
+ | hijos: | ||
+ | - Jose | ||
+ | - Manuel | ||
+ | - Carmen | ||
+ | direccion: | ||
+ | numero: 34 | ||
+ | calle: Gran Vía | ||
+ | ciudad: Cualquiera | ||
+ | codigopostal: "12345" | ||
+ | |||
+ | </source> | ||
+ | *Otra forma de describirlo | ||
+ | <source lang=XML> | ||
+ | casa: | ||
+ | familia: { apellido: García, padres: [Antonio, María], hijos: [Jose, Manuel, Carmen] } | ||
+ | direccion: { numero: 34, direccion: Gran Vía, ciudad: Cualquiera, codigopostal: "12345" } | ||
+ | </source> |
Última revisión de 03:15 7 mar 2014
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
FrameWork
- Programa tus programas, no tus herramientas
- Automatiza tareas comunes, permitiendonos centrarnos y dedicar el esfuerzo al desarrollo de la aplicación concreta
- Nos ayuda a centrarnos en la aplicación, simplificando tareas comunes para diferentes aplicaciones
- Establecemos patrones de desarrollo y diseño, facilitanto el posterior mantenimiento y crecimiento de la aplicación
- Automa
Symfony
- Sigue el patrón MVC
Separa el desarrollo/programación
- Lógica de negocio
- lógica de servidor
- lógica de la aplicación web
http://librosweb.es/symfony/capitulo_1/symfony_en_pocas_palabras.html
Características de Synfony
- Contienen herramienta que generan código
- está basado en pruebas del tipo text-driven development
- contiene una barra de depuración web
- tiene una interfaz de línea de comandos para automatizar instalación de aplicaciones
- Se pueden realizar cambios ad-hot
- Log en detalle
Referencias
- https://groups.google.com/forum/#!forum/symfony-es
- Foros de symfony http://forum.symfony-project.org/
- listas de correo http://groups.google.com/group/symfony-es
- Canal IRC irc://irc.freenode.net/symfony
Conceptos básicos
- Se requieren conocimientos de programación en PHP (versión mínima 5.2.4).
- Conocimientos de OOPç
- clase, objeto, método herencia http://www.php.net/manual/es/language.oop5.basic.php.
- Métodos mágicos del tipo __nombreMetodo(). Métodos comunes a todos los objetos que tie pueden sobreescribir y mantienen una finalidad que permite unificarlos para cualquier tipo de objeto. Por ejemplo __toString() nos dará una cadena de caracteres que identifique al objeto; los objetos son de diferente tipo cada uno lo hará de una manera, pero en cualquier objeto sabemos que existe es método y nos intentará dar información en forma de cadena de caracteres.
http://www.php.net/manual/es/language.oop5.magic.php
- ORM Mapeo de Objeto a Relacional
Symfony nos ofrece una interfaz que permite que trabajemos con objetos y clases aunque en realidad por detrás haya registros y tablas. O sea que traduce la lógica de objetos a lógica relacional. Entre las herramientas open source que implementan esta funcionalidad Symfony soporta las dos más usadas Porpel http://www.propelorm.org y Doctrine http://www.doctrine-project.org
- RAD Rapid Application Designe
- Empezar a desarrollar rápidamente usando lenguajes de scriping (php, python, ruby).
- El cliente ve el prototipo funcionando y participa de posibles cambios.
- DRY (Don't Repeat Yourself). Se intenta no repetir el código, se refactoriza en un único lugar. Princip.
- TDD (Test-driven development) el desarrollo a veces está basado en pruebas programas que hay que escribir antes que la aplicación.
Los métodos deben de ser lo más sencillos y directos posibles KISS (Keep it Simple, Stupid).
- YAML http://www.yaml.org/. Estandar para serializar datos. Ain't Markup Language.
- Es un lenguaje sencillo que pemite describir datos como XML, pero de una forma más sencilla.
- Utiliza la tabulación para especificar la estructura
casa: familia: apellido: García padres: - Antonio - María hijos: - Jose - Manuel - Carmen direccion: numero: 34 calle: Gran Vía ciudad: Cualquiera codigopostal: "12345"
- Otra forma de describirlo
casa: familia: { apellido: García, padres: [Antonio, María], hijos: [Jose, Manuel, Carmen] } direccion: { numero: 34, direccion: Gran Vía, ciudad: Cualquiera, codigopostal: "12345" }