Articoli di questa serie
  1. Le Relazioni CakePHP - HasMany (uno a molti)
  2. Le Relazioni CakePHP – HasMany (uno a molti) seconda parte

Un nuovo saluto a tutti.
Ritorniamo  a prendere la lettura e lo studio sulla relazione  HasMany (Uno a molti ) di CakePHP.

Siamo arrivati alla creazione di un semplice CRUD utilizzando lo scaffold di cakephp tramite l’inserimento di questa variabile : $scaffold , dentro i controllers Books e Authors.

Adesso andremo ad inserire, visualizzare ,modificare, eliminare dati , senza l’aiuto dello scaffold.
Avrete bisogno di tanta pazienza perché questo articolo sarà un pochino lungo.
Cominciamo.

  • Modifica dei due controllers che abbiamo creato in precedenza;
  • Modifca dei due modelli che abbiamo creato in precedenza;
Prendiamo in esame il precedente codice:

Eliminiamo lo scaffold : $scaffold
Nota:

I controllers.php vengono salvati all’interno di questa directory “/app/Controller/*.php”;
I model.php vengono salvati  all’interno di questa directory  “/app/Model/*.php”;
Le views.cpt vengono salvate all’interno di questa directory “/app/View/Names/*.ctp

Vi rimando all’Articolo La Struttura Delle Cartelle CakePHP

Diamo una breve spiegazione sulla nomenclatura.
I nomi dei controller  sono in forma plurale camelizzata : BooksController , AuthorsController;
I nomi dei modelli sono in forma singolare  camelizzata: Book , Author;
I nomi delle views hanno il nome dell’azione presente nel controller di riferimento :  se il mio controller si chiama Books , avrò questa cartella “/app/View/Books/”; allo stesso modo, se il mio controller Books ha una azione che si chiama “add”, avrò un file “/app/View/Books/add.ctp”.

Inseriamo nel nostro AuthorsController le seguenti actions (azioni) :

  • public function index();
  • public function add();
  • public function edit ( $id = null);
  • public function delete($id = null);
Il nuovo codice per AuthorsController sarà il seguente:

Inseriamo ora nel nostro BooksController le seguenti actions (azioni) :

  • public function index();
  • public function add();
  • public function edit ( $id = null);
  • public function delete($id = null);
Il nuovo codice per BooksController sarà il seguente:

Prendiamo i nostri modelli : Author e Book
Andremo ad inserire, per questo semplice tutorial, le regole di validazione dei campi.
Nel modello Author, vogliamo questi requisiti per i nostri dati :

  • name :  non vuoto e richiesto;
  • surname : non vuoto e richiesto;
  • email : non vuoto, richiesto e nel formato email;
Il modello Author sarà cosi :

Nel modello Book, invece, i nostri campi dovranno rispettare questi vincoli :

  • title:  non vuoto e richiesto;
  • isbn : non vuoto, richiesto , almeno 13 caratteri alfanumerici
  • description : non vuoto,rhichiesto,  almeno 30 caratteri
Il modello Book , sarà cosi:

Nel prossimo articolo concluderemo questo tutorial.Creeremo tutte le view necessarie per la visualizzazione, inserimento e modifica delle relative azioni. Il tutto poi sarà messo a disposizione per il downlod. Buona lettura.

Emiliano Seroje Merlin

Nato molti anni fa, ma non troppi.
Le persone con le quali lavoro , dicono che ci sono molti me,
Penso abbiano ragione.Non so con quale io sia in funzione ora.
Buona vita a tutti.