class Rgl extends Ext

Classe pseudo-pubblica con dipendenza ad Ext.

Se la classe Kuiper_belt è "l'involucro", questa classe rapprenta il contenuto ed il sistema che permette al framework agregare blocchi.

La classe ha metodi pubblici:

Ma anche un'istanza (array) contenente il nome della classe ed il nome del file dei blocchi presenti in RGL.

Eliminando una voce dall'istanza, questa non potrà più essere utilizzata dall'intero Framework. Ma se dovessimo avere la necessità di creare un nuovo blocco personalizzato potremmo aggiungerlo all'interno di questa istanza, così da poterlo richiamare ovunque!

Per creare un nuovo blocco, dovremmo:

  1. Creare fisicamente un file all'interno della directory LIB.
  2. Creare una classe (con i suoi metodi) che non contenga il __construct.
  3. Inserire il nome della classe come chiave ed il nome del file come valore all'interno dell'istanza $Lib;
  4. Richiamare il blocco all'interno delle view desiderate aggiungendo semplicemente il nome della classe.

Inoltre se dovessimo avere la necessità di inserire una "funzione" generica e non abbiamo un posto dove collocarla potremmo inserirla come metodo all'interno della classe RGL così da poterla richiamare ovunque, senza la necessità di attivarla da view.

Ora passiamo ai metodi generici esistenti:


this_page():

Racchiude i metodi di BreadC in un'unico metodo il quale restituisce una array con due chiavi.

my_page: Indica in quale pagina ci troviamo;

relative: indica il percorso relativo in base alla directory root sel progetto.

Per visualizzare i risultati si potrebbe eseguire:

print_r(Rgl::this_page());


get_client_ip():

Restituisce un eventuale indirizzo ip di chi sta utilizzando il nostro applicativo.

echo Rgl::get_client_ip();


is_ajax():

Verifica se la richiesta effettuata sia di tipo xmlhttprequest (richiesta in AJAX), così da poter filtrare eventuali richieste indesiderate.

Se la richiesta è in xmlhttprequest il metodo restituisce 1

in caso contrario effettua un redirect alla pagina _ERROR_404_ impostata all'interno del file di configurazione.

si utilizza prima di eventuali funzioni o interazioni con la pagina ad esempio:

Rgl::is_ajax();

function leggi_contenuto(){
    .....
}

echo leggi_contenuto();

 Così da evitare che un'eventuale richiamo della pagina avvenga al di fuori di un determinato schema.

All'interno della directory Templates/ si trova la sottodirectory ajax/ la quale contiene il file axaj.php.

Come utilizzare RGL in una chiamata ajax lo vedremo più avanti (così come eventualmente usare lo schema del file ajax.php), per ora voglio solo mostrare come poter utilizzare is_ajax() nel concreto.

All'interno del file ajax.php potremmo inserire questo codice:

<?php
include("../../../Config/config.php");
include(_CONFIG_['_ROOT_']."Lib/rgl.php");

Rgl::is_ajax();
if($_POST['example']){
    include(_CONFIG_['_ROOT_'].'Templates/ajax/example.php');
}

?>

Lista dei Blocchi