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
|
Classe astratta che definisce un modello, cioè un oggetto che rappresenta una tabella su database. More...
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 | |
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 (
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:
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 (
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.
__construct | ( | $id = null | ) |
__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.
string | $pName | nome della proprietà |
__set | ( | $pName, | |
$pValue | |||
) |
Metodo richiamato ogni volta che qualcuno prova a impostare una proprietà dell'oggetto non definita ($this->{fieldname})
string | $pName | nome della proprietà |
mixed | $pValue | valore da impostare |
__toString | ( | ) |
Rappresentazione a stringa dell'oggetto Sovrascrivere questo metodo nella classe figlia per restituire un valore parlante.
build | ( | $field_obj | ) |
Classe Build del campo di tabella.
Le eventuali proprietà del modello dipendenti dai valori del record sovrascrivono le proprietà del campo
object | $field_obj | oggetto della classe del tipo di campo |
|
protected |
Controllo delle regole constraint.
|
private |
Verifica se il tipo di campo di un modello è un oggetto ManyToMany.
object | $field | oggetto del tipo di campo |
|
static |
Recupera l'oggetto del tipo di campo di un modello.
string | $field_name | nome del campo |
Il formato degli elementi dell'array è il seguente:
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.
deleteDbData | ( | ) |
Elimina le proprietà su db del modello e le traduzioni.
|
static |
Eliminazione di tutti i record legati all'istanza del controller passato come argomento.
mixed | $controller | istanza del controller |
deletem2m | ( | ) |
Elimina le associazioni m2m.
deletem2mthrough | ( | ) |
Elimina le associazioni m2mt.
deletem2mthroughField | ( | $field_name | ) |
Elimina lòe associazioni di un campo m2mt.
string | $field_name | nome campo |
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.
integer | $id | valore id del record |
fieldLabel | ( | $field | ) |
Etichetta del campo.
string | $field | nome campo |
getController | ( | ) |
Controller del modello.
|
static |
Recupera l'oggetto a partire dallo slug.
string | $slug | slug |
mixed | $controller | istanza del controller. |
getModelLabel | ( | ) |
Etichetta del modello.
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.
object | $field_obj | oggetto della classe del tipo di campo |
getRecordValues | ( | ) |
Valori di un record.
string | $id | valore id del record |
|
static |
Array associativo id => rappresentazione a stringa a partire da array di oggetti.
array | $objects |
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.
getTable | ( | ) |
Tabella principale dei dati.
|
protected |
Errore conseguente ad una violazione delle constraint in eliminazione.
array | $res | array delle regole contraint violate |
m2mtObject | ( | $m2mt_field, | |
$id | |||
) |
Ritorna l'oggetto ManyToMany through model.
string | $m2mt_field | nome del campo m2mt |
int | $id | id del record |
ml | ( | $pName | ) |
Recupera le proprietà con la traduzione.
string | $pName | nome proprietà |
|
static |
Metodo generico statico per ricavare oggetti.
mixed | $controller | istanza del controller |
array | $options | array associativo di opzioni:
|
|
staticprotected |
Proprietà specifiche di un modello dipendenti dai valori del record (ad esempio dal valore id)
object | $model | |
object | $controller |
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().
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.
array | $options | array associativo di opzioni
|
savem2m | ( | $m2m | ) |
Salvataggio dei ManyToMany.
array | $m2m | campi m2m del modello (field_name => (array) join_table_id_values) |
|
protected |
Setter per la variabile di controllo del check constraint.
bool | $check |
setIsConstraint | ( | $is_constraint | ) |
Setter per la proprietà che contiene le informazioni per il check dei constraint Esempio:
array | $is_constraint |
shows | ( | $field_obj | ) |
Valore da mostrare in output.
object | $field_obj | oggetto della classe del tipo di campo |
|
protected |
|
protected |
$_db |
|
protected |
|
protected |
$_lng_nav |
|
protected |
|
protected |
|
protected |
|
protected |
$_request |
|
private |
|
protected |
|
private |