La comunità italiana su CakePHP

You are not logged in. Please login or register.


Pages: 1

Atom RSS

Posts [ 3 ]

simone

Topic: Tutorial ufficiale (tratto dal sito www.cakephp.org)

Prefazione

Sezione 1
Questo mauale è stato scritto per supportare chiunque desideri utilizzare CakePHP per scrivere applicazioni web in modo rapido ed intuitivo, infatti CakePHP è volto ad assistere gli utenti di PHP, a qualsiasi livello, nello sviluppo di applicazioni robuste e manutenibili in modo trasparente e veloce.
Bisogna tuttavia considerare che, prima di leggere questo manuale, è indispensabile avere almeno una conoscenza di base per quanto riguarda PHP e HTML. Una certa familiarità con il pattern di programmazione Model-View-Controller (MVC) può senz’altro essere d’aiuto ma non è indispensabile, poiché gli aspetti salienti a tale proposito verranno illustrati nei prossimi capitoli.
Bisogna inoltre notare che questo testo intende supportare il lettore nella configurazione ed installazione del framework CakePHP  sul proprio server, tuttavia non coprirà la totalità di queste problematiche in quanto non è lo scopo del presente manuale.


Sezione 2
CakePHP è Gratuito
CakePHP è gratuito, non costa nulla e potrà essere utlizzato in qualunque modo.
CakePHP viene sviluppato sotto la MIT License, inoltre è un progetto Open Source, ciò significa che chiunque ha pieno accesso al codice sorgente. Il materiale più affidabile ed aggiornato e la versione più recente sono disponibili presso il sito web di CakePHP (http://www.cakephp.org). 


Sezione 3
Community
CakePHP viene sviluppato da una community di persone provenienti da diversi paesi di tutto il mondo, che collaborano per creare il framework CakePHP affinché possano beneficiarne tutti. Per avere maggiori informazioni sugli sviluppatori e gli utenti della community visita il sito http://www.cakephp.org.   
Inoltre il nostro canale IRC è sempre frequentato da sviluppatori CakePHP in gamba e disponibli, quindi per avere informazioni e consigli non esitare a visitare il canale #cakephp su irc.freenode.com.

simone

Re: Tutorial ufficiale (tratto dal sito www.cakephp.org)

Introduzione a CakePHP

Sezione 1
Cos'è CakePHP?
CakePHP è un framework open-source di sviluppo rapido per PHP. È una struttura costituita da librerie, classi ed infrastrutture run-time originariamente ispirata al framework Ruby on Rails. Il nostro obiettivo primario è permetterti di lavorare in modo rapido e strutturato ma senza perdere flessibilità.

Sezione 2
Perchè CakePHP?
CakePHP possiede diverse funzionalità che ne fanno un’ottima scelta come framework per lo sviluppo di applicazioni in modo rapido ed intuitivo. Ecco una lista di alcune peculiarità:
1.    Una community molto attiva e disponibile
2.    Licensing flessibile
3.    Compatibilità con PHP4 e PHP5
4.    CRUD integrato per semplificare le query di interazione con il database
5.    Lo Scaffolding
6.    L’architettura Model View Controller (MVC – Modelo Vista Controllore)
7.    Dispatcher delle richieste con gestione degli URL pulita e personalizzabile
8.    Validazione Built-in
9.    Templating semplice e veloce (sintassi PHP , con l’aiuto di helpers)
10.    Le viste usano Helpers per AJAX, Javascript, HTML Forms ed altro ancora
11.    Gestione della sicurezza e delle sessioni utente.
12.    ACL (Access control list) flessibili
13.    Organizzazione oculata dei dati
14.    Caching delle viste flessibile
15.    Funziona in qualunque sottodirectory del sito

Sezione 2
La storia di CakePHP
Nel 2005, Michal Tatarynowicz  scrisse una versione minimale di un Framewrork per lo sviluppo rapido in PHP e capì immediatamente che si trattava dell’inizio di un framework molto buono. In seguito pubblicò il framework sotto la licenza MIT, lo chiamò Cake e lo rese disponibile ad una community di sviluppatori, che attualmente si occupa del suo sviluppo sotto il nome di CakePHP.

simone

Re: Tutorial ufficiale (tratto dal sito www.cakephp.org)

Concetti di base

Section 1
Introduzione
Questo capitolo è una breve e sommaria introduzione ai concetti MVC come sono stati implementati in Cake. Se non sei a conoscenza del pattern MVC (Model View Controller), è indispensabile che tu legga questo capitolo.
Cominceremo con la trattazione dei concetti generali del MVC ed andremo via via specificando come il MVC trova applicazione in CakePHP, verranno inoltre mostrati alcuni semplici esempi di come questo pattern sia implementato in CakePHP.

Section 2
Il Pattern MVC
Model-View-Controller (Modello-Vista-Controllore) è un pattern di progettazione del software che aiuta ad organizzare il codice in modo logico, rendendolo riusabile e manutenibile.
Il pattern Model-View-Controller fu descritto per la prima volta dalla famosa “Gang of  Four”, in particolare Dean Helman scrisse:
"The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts: the model, the view, and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm.

Input -> Processing -> Output
Controller -> Model -> View

"The user input, the modeling of the external world, and the visual feedback to the user are separated and handled by model, view port and controller objects. The controller interprets mouse and keyboard inputs from the user and maps these user actions into commands that are sent to the model and/or view port to effect the appropriate change. The model manages one or more data elements, responds to queries about its state, and responds to instructions to change state. The view port manages a rectangular area of the display and is responsible for presenting data to the user through a combination of graphics and text."
Per quanto riguarda Cake, il Model rappresenta una particolare tabella/record e le sue relazioni con altre tabelle e record, inoltre il modello contiene le regole di validazione dei dati che vengono applicate quando viene creato un nuovo modello o viene aggiornato uno esistente.
Le View sono rappresentate dai file che vengono utilizzati per visualizzare i dati, vengono rappresentate con normali file HTML annidati nel codice PHP.

Il Controller gestisce le richieste effettuate dal server, preleva l’input dell’utente (tramite i dati di URL e POST) affettua le elaborazioni richieste sui dati, usa il Model per leggere i dati e rispettivamente scrivere i dati sul database; infine manda i dati di output alla View di pertinenza. 
Per rendere il più facile possibile del codice e della logica dell’applicazione chi si sta sviluppando, Cake usa il pattern MVC non solo per definire come gli oggetti interagiscono al’interno dell’applicazione, ma anche come deve essere organizzato il layout dei file che compongono l’aplicazione; questo verrà spiegato in dettaglio nella prossima sezione.

Section 3
Panoramica dei file di Cake
Se scompatti Cake sul tuo server vedrai tre cartelle principali:

      app
      cake
      vendors

     
Nella cartella cake ci sono le librerie fondamentali (core libraries) di Cake e generalmente non è  necessario mettere mano al contenuto di questa cartella, la cartella app  invece dovrà contenere i file della tua applicazione. La separazione fra le due cartelle app e cake consente di avere più cartelle app (quindi più applicazioni) che condividono lo stesso insieme di librerie di Cake. Ciò rende più facile l’aggiornamento di CakePHP, infatti basta effettuare il download della versione più recente di Cake e copiarla nella cartella cake sovrascrivendone il contenuto, l’applicazione invece rimane intatta e non richiede alcuna modifica.
La cartella  vendors è invece destinata a contenere le librerie di terse parti (tutte quelle librerie che non sono core libraries di Cake). Più avanti verrà mostrato come utilizzare la cartella vendors, ma l’idea di base è rendere possibile l’accesso alle classi posizionate nella cartella vendors tramite l’apposita funzione di Cake vendor()
Vediamo com’è organizzato il path di Cake:

/app
    /config              - Contiene i file di configurazione del DB, ACL, etc. 

    /controllers        - Qui si mettono i Controller 
        /components  - Qui si mettono i Component

    /index.php         - Permette di accedere al contenuto /app come se fosse la DocumentRoot

    /models             - Qui si mettono i Model
 
    /plugins             - Qui si mettono i Plugins 

    /tmp                 - Usata come cache e per i log

    /vendors           - Contiene le librerie di terse parti (ma solo per la  presente applicazione)

    /views              - Qui si mettono le View
        /elements      - Qui si mettono gli Element (piccole parti di View)
        /errors          - Pagine di errore personalizzate
        /helpers        - Qui si mettono gli Helper
        /layouts       - Qui si mettono i file per il layout dell’applicazione
        /pages         - Qui si mettono le viste statiche

    /webroot         - La DocumentRoot dell’applicazione
        /css
        /files
        /img
        /js

/cake                - Librerie “core” di Cake, “non toccare”.

index.php           

/vendors             - Usata per le librerie di terze parti, ma non limitatamente ad una sola applicazione.

VERSION.txt          - Versione di Cake attualmente in uso.

Last edited by simone (25-03-2008 20:53:49)

Posts [ 3 ]

Guest posting is disabled. You must login or register to post a reply.

Pages: 1

Topic info

0 guests and 0 users are reading this topic now


Forum quick jump menu

Currently used extensions: pun_topic_online_users, pun_karma, pun_admin_hook_navigator, pun_bbcode. Copyright © 2008 PunBB

[ Generated in 0.043 seconds, 12 queries executed ]