My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for

System engine

  • MVC (Days_Model, Days_View, Days_Controller) - classi base per lavorare con il framework
  • Days_Config - interagisce con la configurazione del sito
  • Days_Db - Interagisce con il database
  • Days_Db_Table - Implementazione ORM che rappresenta le tabelle del database
  • Days_Engine - Il punto di partenza del framework
  • Days_Event - Implementazione del pattern observer.
  • Days_Log - Logga gli errori e i debug
  • Days_Request - Gestisce le request provenienti dal browser utente
  • Days_Response - Gestisce le risposte da inviare al browser
  • Days_Url - Lavora con gli URL

In fase di sviluppo

  • Days_Acl (Aceess Control List) - Classe per la gestione dei privilegi nelle sezioni del sito.
  • Days_Filter - Filtra i dati dell'utente (anche conosciuto come verifica o convalida dei dati)
  • Days_Form - Gestione dei dati provenienti dai form html.
  • Days_User - Classe di gestione degli utenti (autorizzazioni, autenticazioni, fine della sessione)
ItLibDaysDbTable  
ORM.
Lang-It
Updated Nov 8, 2009 by anton.danilchenko

Informazioni generali

ORM - Ti permette di lavorare con il database usando gli oggetti del linguaggio PHP. Non c'è bisogno di scrive query sql nè per ottenere nè per salvare dati.

ORM ti aiuterà ad accelerare lo svliuppo dell'applicazione e semplificare il processo di aggiornamento di quest'ultima.

Come funziona ORM

Creare una class per la tabella desiderata blog_category (memorizza le categorie dei post). Per farlo creare un file in "/var/www/myblog/app/Model/Table/Blog/Category.php" con il seguente codice:

<?php
class Myblog_Model_Table_Blog_Category extends Days_Db_Table {
    protected $_name = 'blog_category';
}

Ottenere l'oggetto di una tabella.

$tableBlogCategory = Days_Model::factory('table_blog_category');

Ottenere i dati da una tabella:

// ottiene informazioni su una categoria
$category = $tableBlogCategory->find('one', array('where'=>array('id'=>10)));
// Ottenere tutte le categorie
$categories = $tableBlogCategory->find('all');
// Ottenere 20 subcategorie
$subcategories = $tableBlogCategory->find('all', array(
  // ritorna le sub-categorie con id=10
  'where' => array(
    'pid' = 10
  ),
  // ritorna le prime 20 righe
  'count' => 20
));
// Ottiene il conto totale delle subcategorie
$countCategories = $tableBlogCategory->find('count', array(
  // return sub-categories with id=10
  'where' => array(
    'pid' = 10
  )
));
// Ottiene le prime 15 categorie
$firstCaterories = $tableBlogCategory->find('first', array(
  'count' => 15
));
// Elimina categoria
$category->delete();
// Rimuove tutte le categorie incluse nel set
$firstCaterories->delete();
// Crea una nuova riga
$newRow = $subcategories->create();
$newRow->name = 'New subcategory';
// save row
$newRow->save();

Usare Days_Db_Table

E' una rappresentazione di una vera tabella, e ti permmette di eseguire operazioni su di essa:

  • find($type, $cond) - ottiene i risultati in una specifica forma
    • $type - in che forma vengono restituiti i risultati
      • all: tutte le righe
      • first: la prima riga (свежие записи будут первыми)
      • last: l'ultima riga (свежие записи будут последними)
      • one: una riga
      • count: il numero totale delle righe (i dati nelle righe non vengono restituiti)
    • $cond - condizione imposta nel risultato
      • count (int): conta le righe nel result
      • page (int): pagina corrente (parte da 1)
      • columns (array): nomi delle colonne
      • where (array): come column=>$value o column_with_value
      • group (array): group by columns
      • order (array): ordina by columns
  • create() - crea un nuovo Rowset vuoto
  • save(Days_Db_Row $row) - Salva la specifica riga
  • delete(Days_Db_Row $row) - Elimina la specifica riga
  • join($table) - Unisce la tabella specifica al risultato

Usare Days_Db_Rowset

Rappresenta un set di righe Days_Db_Row. Ti permette di cambiare il set di righe.

  • create(array $data=array()) - crea una nuova riga Days_Db_Row
  • save(Days_Db_Row $row) - Salva una specifica riga
  • delete(Days_Db_Row $row) - Elimina uns specifica riga
  • count() - Il numero di righe in un determinato set
  • toArray() - Ritorna un set sottoforma di array

Fornisce, inoltre, informazioni sulla riga corrente:

// visualizza il nome della prima categoria
echo $categories->name;

Usare Days_Db_Row

Rappresenta una riga di tabella e ti permette di lavorare con essa:

  • save() - salva la linea corrente
  • delete() - elimina la linea corrente
  • toArray() - ritorna la linea corrente come un array
  • parent - prende tutti gli elementi parent (se hai un column id e pid)
  • child - prende tutti gli elementi childs (se hai un column id e pid)
  • table_name - Prende i relativi records dalla tabella specifica (for categories of table blog_category object table blog need to specify just category instead of blog_category)

Sign in to add a comment
Powered by Google Project Hosting