gino CMS  2.5.0
gino è un CMS scritto in PHP che offre tutti gli strumenti necessari per poter creare un sito web e gestire i contenuti al suo interno in maniera semplice ed efficace, svincolando l'amministratore da conoscenze tecniche di programmazione
Model Class Reference

Classe astratta che definisce un modello, cioè un oggetto che rappresenta una tabella su database. More...

Inheritance diagram for Model:

Public Member Functions

 __construct ($id=null)
 Costruttore. More...
 
 __toString ()
 Rappresentazione a stringa dell'oggetto Sovrascrivere questo metodo nella classe figlia per restituire un valore parlante. More...
 
 fieldLabel ($field)
 Etichetta del campo. More...
 
 setIsConstraint ($is_constraint)
 Setter per la proprietà che contiene le informazioni per il check dei constraint Esempio: More...
 
 __get ($pName)
 Metodo richiamato ogni volta che qualcuno prova a ottenere una proprietà dell'oggetto non definita. More...
 
 __set ($pName, $pValue)
 Metodo richiamato ogni volta che qualcuno prova a impostare una proprietà dell'oggetto non definita ($this->{fieldname}) More...
 
 m2mtObject ($m2mt_field, $id)
 Ritorna l'oggetto ManyToMany through model. More...
 
 ml ($pName)
 Recupera le proprietà con la traduzione. More...
 
 getStructure ()
 Struttura dei campi del modello Un array associativo che contiene tutti i campi come chiavi e le relative classi di tipo Field come valore. More...
 
 getRecordValues ()
 Valori di un record. More...
 
 getController ()
 Controller del modello. More...
 
 save ($options=array())
 Salva il modello su db Salva sia i campi della tabella sia i m2m. More...
 
 savem2m ($m2m)
 Salvataggio dei ManyToMany. More...
 
 deleteDbData ()
 Elimina le proprietà su db del modello e le traduzioni. More...
 
 delete ()
 Elimina l'oggetto Elimina i dati su db, le traduzioni, e le associazioni m2m e m2mt Controlla che non ci siano regole di constraint che impediscano l'eliminazione, in caso ce ne fossero di non rispettate ritorna un elenco di regole che impediscono l'eliminazione. More...
 
 deletem2m ()
 Elimina le associazioni m2m. More...
 
 deletem2mthrough ()
 Elimina le associazioni m2mt. More...
 
 deletem2mthroughField ($field_name)
 Elimina lòe associazioni di un campo m2mt. More...
 
 getModelLabel ()
 Etichetta del modello. More...
 
 getTable ()
 Tabella principale dei dati. More...
 
 getProperties ($field_obj)
 Racchiude tutte le proprietà di un mdello Recupera le proprietà del campo dipendenti dai valori del record e imposta le opzioni: model, field_object, value, table. More...
 
 build ($field_obj)
 Classe Build del campo di tabella. More...
 
 shows ($field_obj)
 Valore da mostrare in output. More...
 
 fetchColumns ($id)
 Recupera i valori del record e li carica nella proprietà _p Il valore dei campi di tipo ManyToMany è un array che racchiude i valori id dei record della tabella di join associata al modello. More...
 
 refreshModel ()
 Refresh del modello (da chiamare manualmente) More...
 

Static Public Member Functions

static deleteInstance ($controller)
 Eliminazione di tutti i record legati all'istanza del controller passato come argomento. More...
 
static getSelectOptionsFromObjects ($objects)
 Array associativo id => rappresentazione a stringa a partire da array di oggetti. More...
 
static objects ($controller=null, $options=array())
 Metodo generico statico per ricavare oggetti. More...
 
static getFromSlug ($slug, $controller=null)
 Recupera l'oggetto a partire dallo slug. More...
 
static columns ()
 Recupera l'oggetto del tipo di campo di un modello. More...
 

Data Fields

 $_request
 
 $_db
 
 $_lng_nav
 

Protected Member Functions

 setCheckIsConstraint ($check)
 Setter per la variabile di controllo del check constraint. More...
 
 isConstraintError ($res)
 Errore conseguente ad una violazione delle constraint in eliminazione. More...
 
 checkIsConstraint ()
 Controllo delle regole constraint. More...
 

Static Protected Member Functions

static properties ($model, $controller=null)
 Proprietà specifiche di un modello dipendenti dai valori del record (ad esempio dal valore id) More...
 

Protected Attributes

 $_registry
 
 $_tbl_data
 
 $_model_label
 
 $_controller
 
 $_locale
 
 $_p = array()
 
 $_is_constraint = array()
 
 $_check_is_constraint = true
 
 $_lng_dft
 

Private Member Functions

 checkM2m ($field_obj)
 Verifica se il tipo di campo di un modello è un oggetto ManyToMany. More...
 

Private Attributes

 $_structure
 
 $_trd
 

Detailed Description

Classe astratta che definisce un modello, cioè un oggetto che rappresenta una tabella su database.

La classe permette di descrivere la struttura dei dati del modello. Sono supportati molti tipi di dati (

See also
lib/classes/fields/*), compresi le relazioni molti a molti, comprensivi, nel caso, di campi aggiuntivi. La classe gestisce il salvataggio del modello su db e l'eliminazione, controllando, se specificato, che le constraint siano rispettate. Sono presenti metodi di generico utilizzo quali un selettore di oggetti, un selettore attraverso slug.

Le proprietà su DB possono essere lette attraverso il metodo __get, ma possono anche essere protette costruendo una funzione get personalizzata all'interno della classe.
Le proprietà su DB possono essere impostate attraverso il metodo __set; in aggiunta possono essere definiti setter specifici definendo dei metodi setFieldname.
La classe figlia che istanzia il parent passa il valore ID del record dell'oggetto direttamente nel costruttore:

parent::__construct($id);

Criteri di costruzione di un modello/tabella per la definizione della struttura

Le tabelle che si riferiscono alle applicazioni possono essere gestite in modo automatico attraverso la classe Gino.AdminTable.
Ognuna di queste tabelle viene definita in un modello che estende la classe Gino.Model, e in particolare il modello definisce i propri campi nel metodo statico columns(). In questo metodo vengono definiti tutti i campi del modello utilizzando le opzioni generali dei campi (

See also
Gino.Field::__construct()) e quelle specifiche del tipo di campo.

Le tabelle devono essere coerenti con la definizione del modello per cui, ad esempio, i campi obbligatori devono essere 'not null' e gli eventuali valori di default devono essere indicati anche nel campo della tabella.

Author
marco guidotti guido.nosp@m.ttim.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
abidibo abidi.nosp@m.bo@g.nosp@m.mail..nosp@m.com

Constructor & Destructor Documentation

__construct (   $id = null)

Costruttore.

Parameters
integer$idvalore ID del record dell'oggetto
Returns
istanza di Gino.Model

Member Function Documentation

__get (   $pName)

Metodo richiamato ogni volta che qualcuno prova a ottenere una proprietà dell'oggetto non definita.

L'output è il metodo get specifico per questa proprietà (se esiste), altrimenti è la proprietà.
Per i campi su tabella principale la proprietà ritornata è uguale al valore salvato sul db.
Per i m2m la proprietà è uguale ad un array con gli id dei modelli correlati.
Per i m2mt la proprietà è uguale ad un array con gli id dei modelli correlati.

Parameters
string$pNamenome della proprietà
Returns
valore proprietà
__set (   $pName,
  $pValue 
)

Metodo richiamato ogni volta che qualcuno prova a impostare una proprietà dell'oggetto non definita ($this->{fieldname})

Parameters
string$pNamenome della proprietà
mixed$pValuevalore da impostare
Returns
void
__toString ( )

Rappresentazione a stringa dell'oggetto Sovrascrivere questo metodo nella classe figlia per restituire un valore parlante.

Returns
id
build (   $field_obj)

Classe Build del campo di tabella.

Le eventuali proprietà del modello dipendenti dai valori del record sovrascrivono le proprietà del campo

Parameters
object$field_objoggetto della classe del tipo di campo
Returns
object
checkIsConstraint ( )
protected

Controllo delle regole constraint.

Returns
true oppure lista delle regole violate
checkM2m (   $field_obj)
private

Verifica se il tipo di campo di un modello è un oggetto ManyToMany.

Parameters
object$fieldoggetto del tipo di campo
Returns
boolean
static columns ( )
static

Recupera l'oggetto del tipo di campo di un modello.

Parameters
string$field_namenome del campo
Returns
object or null Struttura dei campi della tabella di un modello
array

Il formato degli elementi dell'array è il seguente:

field_name = new \Gino\{Type}Field(array(
'name' => string,
'label' => string,
'primary_key' => bool,
'unique_key' => bool,
'auto_increment' => bool,
'default' => mixed,
'max_lenght' => integer,
'required' => boolean,
'int_digits' => integer,
'decimal_digits' => integer,
));
delete ( )

Elimina l'oggetto Elimina i dati su db, le traduzioni, e le associazioni m2m e m2mt Controlla che non ci siano regole di constraint che impediscano l'eliminazione, in caso ce ne fossero di non rispettate ritorna un elenco di regole che impediscono l'eliminazione.

Returns
bool (true) or array (error)
deleteDbData ( )

Elimina le proprietà su db del modello e le traduzioni.

Returns
risultato dell'operazione, bool
static deleteInstance (   $controller)
static

Eliminazione di tutti i record legati all'istanza del controller passato come argomento.

Parameters
mixed$controlleristanza del controller
Returns
TRUE
deletem2m ( )

Elimina le associazioni m2m.

Returns
risultato dell'operazione, bool
deletem2mthrough ( )

Elimina le associazioni m2mt.

Returns
risultato dell'operazione, bool
deletem2mthroughField (   $field_name)

Elimina lòe associazioni di un campo m2mt.

Parameters
string$field_namenome campo
Returns
risultato dell'operazione, bool
fetchColumns (   $id)

Recupera i valori del record e li carica nella proprietà _p Il valore dei campi di tipo ManyToMany è un array che racchiude i valori id dei record della tabella di join associata al modello.

Parameters
integer$idvalore id del record
Exceptions
fieldLabel (   $field)

Etichetta del campo.

Parameters
string$fieldnome campo
Returns
etichetta
getController ( )

Controller del modello.

Returns
istanza del controller o null se non esiste istanza
static getFromSlug (   $slug,
  $controller = null 
)
static

Recupera l'oggetto a partire dallo slug.

Parameters
string$slugslug
mixed$controlleristanza del controller.
Returns
oggetto che matcha lo slug dato
getModelLabel ( )

Etichetta del modello.

Returns
label
getProperties (   $field_obj)

Racchiude tutte le proprietà di un mdello Recupera le proprietà del campo dipendenti dai valori del record e imposta le opzioni: model, field_object, value, table.

Parameters
object$field_objoggetto della classe del tipo di campo
Returns
array
getRecordValues ( )

Valori di un record.

Parameters
string$idvalore id del record
Returns
multitype:array,null
static getSelectOptionsFromObjects (   $objects)
static

Array associativo id => rappresentazione a stringa a partire da array di oggetti.

Parameters
array$objects
Returns
array associativo id=>stringa
getStructure ( )

Struttura dei campi del modello Un array associativo che contiene tutti i campi come chiavi e le relative classi di tipo Field come valore.

Returns
struttura dati
getTable ( )

Tabella principale dei dati.

Returns
nome tabella
isConstraintError (   $res)
protected

Errore conseguente ad una violazione delle constraint in eliminazione.

Parameters
array$resarray delle regole contraint violate
Returns
html errore
m2mtObject (   $m2mt_field,
  $id 
)

Ritorna l'oggetto ManyToMany through model.

Parameters
string$m2mt_fieldnome del campo m2mt
int$idid del record
Returns
oggetto
ml (   $pName)

Recupera le proprietà con la traduzione.

Parameters
string$pNamenome proprietà
Returns
string traduzione
static objects (   $controller = null,
  $options = array() 
)
static

Metodo generico statico per ricavare oggetti.

Parameters
mixed$controlleristanza del controller
array$optionsarray associativo di opzioni:
  • where: where clause
  • order: ordinamento
  • limit: limite risultati
Returns
array di oggeti ricavati
static properties (   $model,
  $controller = null 
)
staticprotected

Proprietà specifiche di un modello dipendenti dai valori del record (ad esempio dal valore id)

Parameters
object$model
object$controller
Returns
array
refreshModel ( )

Refresh del modello (da chiamare manualmente)

Quando ad esempio si modificano gli m2mt e si vogliono vederne gli effetti prima del ricaricamento pagina.
Modificando gli m2mt, questi vengono aggiornati sul db, ma il modello che ha tali m2mt continua a referenziare i vecchi, questo perché il salvataggio viene gestito da Gino.ModelForm e non da modello stesso. Per fare in modo che le modifiche agli m2mt si riflettano immediatamente sul modello di appartenenza questo metodo viene richiamato da Gino.ModelForm. Allo stesso modo richiamarlo manualmente se la modifica agli m2mt viene fatta in modo diverso dall'uso di Gino.ModelForm::save().

See also
Gino.ModelForm::m2mthroughAction()
Returns
void
save (   $options = array())

Salva il modello su db Salva sia i campi della tabella sia i m2m.

I m2mt devono essere salvati manualmente, la classe AdminTable lo fa in maniera automatica. Quando il salvataggio avviene con successo viene emesso un segnale 'post_save' da parte del modello.

Parameters
array$optionsarray associativo di opzioni
  • only_update (mixed): nomi dei campi da aggiornare
    • string, nomi dei campi separati da virgola
    • array, elenco dei nomi dei campi
  • no_update (array): elenco dei campi da non impostare in una istruzione di update; di default vengono aggiunti i campi 'id', 'instance'
Returns
il risultato dell'operazione o errori
savem2m (   $m2m)

Salvataggio dei ManyToMany.

Parameters
array$m2mcampi m2m del modello (field_name => (array) join_table_id_values)
Returns
true
setCheckIsConstraint (   $check)
protected

Setter per la variabile di controllo del check constraint.

Parameters
bool$check
Returns
void
setIsConstraint (   $is_constraint)

Setter per la proprietà che contiene le informazioni per il check dei constraint Esempio:

$is_constraint = array(
'MyModelClass'=>'field_name',
'MyModelClassWithInstanceController'=>array('field' => 'field_name', 'controller' => new mycontroller())
);
Parameters
array$is_constraint
Returns
void
shows (   $field_obj)

Valore da mostrare in output.

See also
Gino.Build::printValue()
Parameters
object$field_objoggetto della classe del tipo di campo
Returns
mixed

Field Documentation

$_check_is_constraint = true
protected
$_controller
protected
$_db
$_is_constraint = array()
protected
$_lng_dft
protected
$_lng_nav
$_locale
protected
$_model_label
protected
$_p = array()
protected
$_registry
protected
$_request
$_structure
private
$_tbl_data
protected
$_trd
private

The documentation for this class was generated from the following file: