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
CAKE PHP Frameworkper a un desenvolupament àgil. Josep Llodrà Grimalt ( http://herotyc.com ) (jlg.hrtc@gmail.com)
2.
¿ Què és un Framework? És una estructura de suport , en la que un altre projecte de software es pot organitzar i desenvolupar. Estructura de directoris. Classes, llibreries, auxiliars. Facilita el desenvolupament. Codi reutilitzable.
3.
Motius per autilitzar-lo Agilitat en el desenvolupament. Aplicacions més estables. Organització del codi font. Facilita el treball en equip. S’enfoca cap a la lògica de negoci i no en tasques senzilles i repetitives. Model CRUD – Create, Retrieve, Update, Delete.
4.
Model MVC MVC:Model, View, Controller. É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.
Model MVC Model: És la representació específica de la informació. Assegura la integritat de les dades, per exemple, validant-les abans d’inserir-les. Vista : Presenta el model en el format adequat, vendria a ser la GUI. Controlador : Respon a events, usualment accions de l’usuari que provoquen canvis al model i probablement a la vista.
7.
¿Què és CakePHP?Framework PHP Compatible amb PHP 4 i PHP 5 Arquitectura MVC ORM – Mapejat d’objecte relacional Actualment a la versió: 1.1.20.7692 (estable). 1.2.0.7692 RC3 (en desenvolupament). Pàgina web: Cakephp.org
8.
¿Què té unaaplicació CakePHP? Alguns models. Moltes vistes. Pocs controladors. Un poquet d’ActiveRecord (per estalviar-se escriure sentències en SQL).
Instal·lació Descarregar-lo desde http://cakephp.org Utilitzarem la darrera versió estable (1.1.x) Utilitzarem un servidor (XAMPlite 1.6.7) Descomprimir Cakephp dins C:\xampplite\htdocs, llavors tendrem el directori nou “cake_1.1.xxx”, el podem canviar a, simplement, “cake” (o el nom de la nostra aplicació).
Crear les taulesCom 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 .
15.
Restriccions de CakeEls noms de les taules han d’estar en anglès i en plural (no necessari però recomanable). Hi ha d’haver un identificador primari (id). Les claus estrangeres han de ser de la forma (nomdelataula_id).
Creació de codiautomàtic: Bake.php En la ruta: C:\xamplite\htdocs\cake\cake\scripts> executem c:\xamplite\php\php.exe bake.php Creem els models, vistes i controladors. Etc.
18.
Relacions entre ModelshasMany : Relació 1-N, per a la taula que no tingui la clau estrangera. hasOne : Relacions 1-1, la taula ha de tenir la clau estrangera apuntant a l’altra. belongsTo : Relació 1-N, per a la taula que té la clau extrangera (com és el cas d’adalt). hasManyAndBelongsTo : Relacions N-N, té unes limitacions i ha de seguir unes convencions. Veure aquí .
19.
Models Job iType Fem el mateix per amb els Controladors i les Vistes...
20.
Codi creat ElsModels estaran dins el directori \Models En anglès, singular: Job.php, Type.php Els Controladors dins \Controllers Jobs_controller.php, Types_controller.php Les Vistes dins \Views \Views\Jobs\index.thtml, add.thtml, edit.thtml, view.thtml