Consola de CakePHP, uso y testing David Riveros
Presentación CakeFest Buenos Aires, Argentina Experiencia con PHP desde 2003 Experiencia CakePHP Abril 2008 Framework de desarrollo en OXUS
Consola Cake - Instalación Unix: Agregar variable $PATH en .profile $PATH:/path_to_cakephp/cake/console Windows: Variables de entorno, agregar a variable PATH c:/path_to_cake/cake/console
Consola Cake – Creando Proyectos cake bake project xxxxxx Copia contenido de carpeta cakeroot/cake/console/libs/templates/skel cake bake xxxxxx Copia contenido y configura BD
Modelos, Controladores y Vistas Creación limpia cake bake model xxxxxx (singular) cake bake controller xxxxxx (plural) cake bake view controller xxxxxx Para validaciones en modelo o scaffolding en controlador, solo utilizar: cake bake
Cake API Problemas con alguna herramienta de cake? cake api xxxxxxx Ejemplos: cake api helper html cake api behavior containable cake api component RequestHandler
Cake Schema [1/2] cake schema generate Dump de tablas de modelos a / app/config/sql/schema.php Forzar toda la BD, con –f cake schema run update –s 2 Modifica la BD con el estado del snapshot
Cake Schema [2/2] cake schema run create Realiza drop de tablas del schema y las crea cake schema dump filename.sql Dump en formato SQL Sin filename el dump es en consola
Cake i18n Soporte para internacionalización Extracción de oraciones traducibles cake i18n extract Archivo .pot para traducción
Consola cake console Para probar funciones de modelo fuera del entorno Uso: Modelo->funcion Posts->findAll(); Pruebas de Rutas Routes posts/view/1 Routes show
Nuestra propia consola /app/vendors/shells/menu.php Ocupamos $this->in y $this->out En vez de $this->params, ocupamos $this->args Podemos hacer otras funciones adicionales a main
Cake testsuite [1/2] cake testsuite category test_type file Category: core, app, nombre plugin Test_type: case, group o all File: test a correr  Ejemplos cake testsuite app case models/my_model  cake testsuite app group mygroup
Cake testsuite [2/2] Creando nuevos casos de test: cake bake test Podemos crear test para modelos, controladores, helpers, behaviors, componentes Creamos por consola los métodos a testear
Unit Testing Si no conoces el concepto, lo verás en práctica Si te es familiar, sabrás como implementar en CakePHP Como hacer y correr test
Unit Testing Unit: la unidad mínima de código Procedimiento automático que nos de la posibilidad de asegurarnos que el código que escribamos funcione de la forma en que queremos que lo haga Testear entre 40% y 80% del código. El 100% es imposible e innecesario.
Unit Testing Assertions
Unit Testing Assertions
Unit Testing Beneficios Sabemos cuando un cambio rompe el comportamiento esperado Arreglar bugs es mucho más fácil, y es menos probable crear código con ellos Aumenta la confianza del programador
Unit Testing Limitaciones Tiempo: el tiempo es oro Motivación: no es para flojos Mantenimiento: más código por mantener Muestra los errores, no la ausencia de ellos
FIN ¿Preguntas? De interés: Lista:  [email_address] IRC: irc.freenode.org  #cakephp  #cakephp-es Contacto: david.riveros@oxus.cl

Consola Cake Php, Uso Y Testing

  • 1.
    Consola de CakePHP,uso y testing David Riveros
  • 2.
    Presentación CakeFest BuenosAires, Argentina Experiencia con PHP desde 2003 Experiencia CakePHP Abril 2008 Framework de desarrollo en OXUS
  • 3.
    Consola Cake -Instalación Unix: Agregar variable $PATH en .profile $PATH:/path_to_cakephp/cake/console Windows: Variables de entorno, agregar a variable PATH c:/path_to_cake/cake/console
  • 4.
    Consola Cake –Creando Proyectos cake bake project xxxxxx Copia contenido de carpeta cakeroot/cake/console/libs/templates/skel cake bake xxxxxx Copia contenido y configura BD
  • 5.
    Modelos, Controladores yVistas Creación limpia cake bake model xxxxxx (singular) cake bake controller xxxxxx (plural) cake bake view controller xxxxxx Para validaciones en modelo o scaffolding en controlador, solo utilizar: cake bake
  • 6.
    Cake API Problemascon alguna herramienta de cake? cake api xxxxxxx Ejemplos: cake api helper html cake api behavior containable cake api component RequestHandler
  • 7.
    Cake Schema [1/2]cake schema generate Dump de tablas de modelos a / app/config/sql/schema.php Forzar toda la BD, con –f cake schema run update –s 2 Modifica la BD con el estado del snapshot
  • 8.
    Cake Schema [2/2]cake schema run create Realiza drop de tablas del schema y las crea cake schema dump filename.sql Dump en formato SQL Sin filename el dump es en consola
  • 9.
    Cake i18n Soportepara internacionalización Extracción de oraciones traducibles cake i18n extract Archivo .pot para traducción
  • 10.
    Consola cake consolePara probar funciones de modelo fuera del entorno Uso: Modelo->funcion Posts->findAll(); Pruebas de Rutas Routes posts/view/1 Routes show
  • 11.
    Nuestra propia consola/app/vendors/shells/menu.php Ocupamos $this->in y $this->out En vez de $this->params, ocupamos $this->args Podemos hacer otras funciones adicionales a main
  • 12.
    Cake testsuite [1/2]cake testsuite category test_type file Category: core, app, nombre plugin Test_type: case, group o all File: test a correr Ejemplos cake testsuite app case models/my_model cake testsuite app group mygroup
  • 13.
    Cake testsuite [2/2]Creando nuevos casos de test: cake bake test Podemos crear test para modelos, controladores, helpers, behaviors, componentes Creamos por consola los métodos a testear
  • 14.
    Unit Testing Sino conoces el concepto, lo verás en práctica Si te es familiar, sabrás como implementar en CakePHP Como hacer y correr test
  • 15.
    Unit Testing Unit:la unidad mínima de código Procedimiento automático que nos de la posibilidad de asegurarnos que el código que escribamos funcione de la forma en que queremos que lo haga Testear entre 40% y 80% del código. El 100% es imposible e innecesario.
  • 16.
  • 17.
  • 18.
    Unit Testing BeneficiosSabemos cuando un cambio rompe el comportamiento esperado Arreglar bugs es mucho más fácil, y es menos probable crear código con ellos Aumenta la confianza del programador
  • 19.
    Unit Testing LimitacionesTiempo: el tiempo es oro Motivación: no es para flojos Mantenimiento: más código por mantener Muestra los errores, no la ausencia de ellos
  • 20.
    FIN ¿Preguntas? Deinterés: Lista: [email_address] IRC: irc.freenode.org #cakephp #cakephp-es Contacto: david.riveros@oxus.cl