Modificare una funzione del kernel senza modificare il kernel

Un article de Wiki Maximus CMS.



Tutti quanti, prima o poi, potrebbero aver bisogno di modificare e/o implimentare una funzione del kernel di Maximus ....


Sino ad oggi si doveva fare come tutti gli altri ed industriarsi a modificare i files del kernel; ciò implicava che al successivo aggiornamento del CMS ci si impazziva a ritrovare i files e la posizione delle proprie modifiche che nel frattempo erano state dimenticate, quindi a riscriverle etc... questo era il principale impazzimento di un CMS (e dio sa quanti upgrades escono regolarmente presso alcuni)


Con Maximus 2008, addio a questi vecchi problemi che d'ora in avanti potranno essere etichettati tra le antichità (come tante altre cose :))


Per dare esempio, andremo a vedere tre casi pratici.

Supponiamo che io desidero modificare la funzione Is_Active, funzione che permette di verificare se un modulo è stato ben attivato e installato.
Questa funzione è posta nel file kernel/utility.php

  • Per prima cosa vado a creare un nuovo file che chiamerò utility.php , e che dovrò caricare con l'ftp nella cartella kernel/perso/
  • Ora vado a scrivere la mia nuova funzione is_active che sarà considerata dal sistema prioritaria rispetto alla funzione nativa di maximus, per esempio questa :
function Is_active( $module) {
   /* qui metto il codice che per mia necessità dovrà sostituire quello originale :) */
}
  • Tutto qui, la mia funzione è predisposta e, una volta che il mio file verrà registrato e uploadato sull'FTP nella giusta cartella, la buona vecchia funzione nativa non esisterà più ... è la mia nuova funzione che sarà caricata nella prima pagina visitata e questo sino a quando il mio file sarà presente nella cartella kernel/perso


Questo esempio pur elementare evidenzia come il sistema permette ogni sorta di configurazione personale senza mai avere la necessità di modificare qualsiasi file del kernel


Con una successiva versione di maximus sarà sufficiente riuploadare i miei files, posti nella cartella personale del kernel, nel kernel della versione successiva ed il mio bambino girerà con le stesse modifiche di prima :):) (più semplice di così si muore ... :))



Nota, per sostituire una funzione del kernel bisogna:

  • localizzarla (prossimamente sarà messa a disposizione del pubblico una specifica guida riepilogativa delle funzioni e del loro posizionamento )
  • creare un file dello stesso nome e posizionarlo nella cartella personale del kernel
  • scrivere la sua nuova funzione
  • infine uploadare il file
  • per finire non dimenticate di proteggere il file con la linea seguente posta subito dopo <?php
defined('MAXIMUS') or die('illegal access');


Piermin 08 settembre 2008 h 18:20 (rif.: Cyril)