El framework Cakephp

1,274 views

Published on

A presentation on CakePHP, a few explanation about how it works and an example, written in Catalan.

Una presentació sobre CakePHP, breu explicació sobre les funcionalitats i un petit exemple, en català.

Per Josep Llodrà Grimalt.
http://herotyc.com

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,274
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

El framework Cakephp

  1. 1. CAKE PHP Framework per a un desenvolupament àgil. Josep Llodrà Grimalt ( http://herotyc.com ) (jlg.hrtc@gmail.com)
  2. 2. ¿ Què és un Framework? <ul><li>És una estructura de suport , en la que un altre projecte de software es pot organitzar i desenvolupar. </li></ul><ul><li>Estructura de directoris. </li></ul><ul><li>Classes, llibreries, auxiliars. </li></ul><ul><li>Facilita el desenvolupament. </li></ul><ul><li>Codi reutilitzable. </li></ul>
  3. 3. Motius per a utilitzar-lo <ul><li>Agilitat en el desenvolupament. </li></ul><ul><li>Aplicacions més estables. </li></ul><ul><li>Organització del codi font. </li></ul><ul><li>Facilita el treball en equip. </li></ul><ul><li>S’enfoca cap a la lògica de negoci i no en tasques senzilles i repetitives. </li></ul><ul><li>Model CRUD – Create, Retrieve, Update, Delete. </li></ul>
  4. 4. Model MVC <ul><li>MVC: Model, View, Controller. </li></ul><ul><li>És un patró d’arquitectura de software que separa les dades d’una aplicació, la interfície d’usuari i la lògica de control en 3 components. </li></ul>
  5. 5. Model MVC
  6. 6. Model MVC <ul><li>Model : És la representació específica de la informació. Assegura la integritat de les dades, per exemple, validant-les abans d’inserir-les. </li></ul><ul><li>Vista : Presenta el model en el format adequat, vendria a ser la GUI. </li></ul><ul><li>Controlador : Respon a events, usualment accions de l’usuari que provoquen canvis al model i probablement a la vista. </li></ul>
  7. 7. ¿Què és CakePHP? <ul><li>Framework PHP </li></ul><ul><li>Compatible amb PHP 4 i PHP 5 </li></ul><ul><li>Arquitectura MVC </li></ul><ul><li>ORM – Mapejat d’objecte relacional </li></ul><ul><li>Actualment a la versió: </li></ul><ul><ul><li>1.1.20.7692 (estable). </li></ul></ul><ul><ul><li>1.2.0.7692 RC3 (en desenvolupament). </li></ul></ul><ul><li>Pàgina web: Cakephp.org </li></ul>
  8. 8. ¿Què té una aplicació CakePHP? <ul><li>Alguns models. </li></ul><ul><li>Moltes vistes. </li></ul><ul><li>Pocs controladors. </li></ul><ul><li>Un poquet d’ActiveRecord (per estalviar-se escriure sentències en SQL). </li></ul>
  9. 9. Estructura de directoris <ul><li>/ (arrel) </li></ul><ul><ul><ul><li>app/ </li></ul></ul></ul><ul><ul><ul><ul><li>Config/ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Controllers / </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Models / </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Plugins/ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Tmp/ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Vendors/ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Views / </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Webroot/ </li></ul></ul></ul></ul><ul><ul><ul><li>Cake </li></ul></ul></ul><ul><ul><ul><li>Docs </li></ul></ul></ul><ul><ul><ul><li>Vendors </li></ul></ul></ul>
  10. 10. Instal·lació <ul><li>Descarregar-lo des de http://cakephp.org </li></ul><ul><li>Utilitzarem la darrera versió estable (1.1.x) </li></ul><ul><li>Utilitzarem un servidor (XAMPlite 1.6.7) </li></ul><ul><li>Descomprimir Cakephp dins C:xampplitehtdocs, llavors tendrem el directori nou “cake_1.1.xxx”, el podem canviar a, simplement, “cake” (o el nom de la nostra aplicació). </li></ul>
  11. 11. Prova <ul><li>Accedir a: </li></ul><ul><ul><li>http://localhost/cake/ </li></ul></ul>
  12. 12. Configuració de la BBDD <ul><li>Al directori C:xampplitehtdocscakeappconfig </li></ul><ul><ul><li>Renombrar “database.php.default” a database.php i editar-lo. </li></ul></ul>
  13. 13. Provem la connexió de nou Funciona
  14. 14. Crear les taules <ul><li>Com a exemple farem una aplicació tipus Agenda, amb entrades de feines per fer i tipus de tasques. Una feina tindrà un nom, una prioritat, un comentari, i un tipus de feina . </li></ul>
  15. 15. Restriccions de Cake <ul><li>Els noms de les taules han d’estar en anglès i en plural (no necessari però recomanable). </li></ul><ul><li>Hi ha d’haver un identificador primari (id). </li></ul><ul><li>Les claus estrangeres han de ser de la forma (nomdelataula_id). </li></ul>
  16. 16. Taules Types: Jobs:
  17. 17. Creació de codi automàtic: Bake.php En la ruta: C:xamplitehtdocscakecakescripts> executem c:xamplitephpphp.exe bake.php Creem els models, vistes i controladors. Etc.
  18. 18. Relacions entre Models <ul><li>hasMany : Relació 1-N, per a la taula que no tingui la clau estrangera. </li></ul><ul><li>hasOne : Relacions 1-1, la taula ha de tenir la clau estrangera apuntant a l’altra. </li></ul><ul><li>belongsTo : Relació 1-N, per a la taula que té la clau extrangera (com és el cas d’adalt). </li></ul><ul><li>hasManyAndBelongsTo : Relacions N-N, té unes limitacions i ha de seguir unes convencions. Veure aquí . </li></ul>
  19. 19. Models Job i Type Fem el mateix per amb els Controladors i les Vistes...
  20. 20. Codi creat <ul><li>Els Models estaran dins el directori Models </li></ul><ul><ul><li>En anglès, singular: Job.php, Type.php </li></ul></ul><ul><li>Els Controladors dins Controllers </li></ul><ul><ul><li>Jobs_controller.php, Types_controller.php </li></ul></ul><ul><li>Les Vistes dins Views </li></ul><ul><ul><li>ViewsJobsindex.thtml, add.thtml, edit.thtml, view.thtml </li></ul></ul>
  21. 21. API <ul><li>http://api.cakephp.org/1.1/ (estable) </li></ul><ul><li>AppController </li></ul><ul><li>AppModel </li></ul><ul><li>HtmlHelper </li></ul><ul><li>FormHelper </li></ul><ul><li>AjaxHelper </li></ul>

×