Your SlideShare is downloading. ×
0
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
El framework Cakephp
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

El framework Cakephp

1,092

Published on

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

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,092
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
32
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CAKE PHP Framework per a un desenvolupament àgil. Josep Llodrà Grimalt ( http://herotyc.com ) (jlg.hrtc@gmail.com)
  • 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. 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. 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. Model MVC
  • 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. ¿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. ¿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. 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. 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. Prova <ul><li>Accedir a: </li></ul><ul><ul><li>http://localhost/cake/ </li></ul></ul>
  • 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. Provem la connexió de nou Funciona
  • 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. 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. Taules Types: Jobs:
  • 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. 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. Models Job i Type Fem el mateix per amb els Controladors i les Vistes...
  • 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. 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>

×