chiamate con istanza di altra classe rispetto la classe di app. (plugin)

andriun

Nuovo Utente
14 Nov 2014
5
2
0
Salve, vi chiedo un cortesemente un chiarimento, dal momento che per le mie conoscenze attuali non riesco a trovare una motivazione plausibile al comportamento da me riscontrato durante il debug. Premetto che non è facile per me esporre il problema, senza dover postare montagne di codice, quindi diciamo che faccio un tentativo: se a qualcuno viene in mente qualche cosa bene, altrimenti vedrò come fare. Aggiungo anche che come vedrete più avanti e come indicato nell'oggetto, si tratta di un plugin wp, anche se il mio sospetto è che il mio problema abbia poco a che vedere con questo.

In ogni caso ringrazio in anticipo chi vorrà intervenire.

Il codice prende inizio da qui:

PHP:
require_once ( 'framework/init.php' );


if ( ! class_exists( 'userMeta' ) ) :
class userMeta extends pluginFramework {

....
//Load Plugins & Framework modal classes
        global $pluginFramework, $userMetaCache;
        $this->cacheName        = 'userMetaCache';
        $userMetaCache          = new stdClass;
        
        $this->loadModels( $this->modelsPath );
        $this->loadModels( $pluginFramework->modelsPath );                                     
    }

}
endif;

global $userMeta;
$userMeta = new userMeta;
$userMeta->init();

qui viene chiamata l'altra classe 'framework/init.php' lascio anche il commento di testa se può aiutare a capire per chi si ritiene esperto/navigato.

PHP:
/**
 * Framework for wordpress plugin
 * Primary framework class is pluginFramework
 * global varaiable $pluginFramework are available as instance of pluginFramework class
 * all classes from models directory are preloaded with $pluginFramework
 * any method of models class can be access as $pluginFramework->methodNmae(); 
 */

if ( ! class_exists( 'pluginFramework' ) ) :
class pluginFramework {
...
...
    function __construct() {                          
        $this->frameworkPath   = dirname( __FILE__ );
        $this->modelsPath      = $this->frameworkPath . '/models/';
		  
        $this->controllersPath = $this->frameworkPath . '/controllers/';
        $this->viewsPath       = $this->frameworkPath . '/views/';
        
        $this->loadModels( $this->modelsPath );
		  
        $this->pluginPath      = $this->directoryUp( $this->frameworkPath );  <-- avviene il fatto strano(*)


(*) infatti $this contiene "pluginFramework", ma "directoryUp" risiede in altra classe(vedi sotto) e non ne è figlia         

....
....
    function init() {        
....
....
        $this->pluginInit();  
		  
    }



if ( ! class_exists( 'PluginFrameworkRawFunction' ) ):
    class PluginFrameworkRawFunction {
....
....
        /**
         * go up one directory/url
         * @param string $path: url or path
         * @return string : path/url without last slash
         */
        function directoryUp( $path ) {
...
...

A qualcuno viene in mente per caso a cosa potrebbe essere dovuto tale comportamento?
 

andriun

Nuovo Utente
14 Nov 2014
5
2
0
Salve, vi chiedo un cortesemente un chiarimento...

Ho capito dove stava l'arcano: la variabile $this in questo caso non contiene un'unica istanza, come mi aspettavo di trovare, ma una serie di istanze tra cui esiste anche quella della classe PluginFrameworkRawFunction(adesso posso dire: ovvio) a cui il metodo "directoryUp" appartiene.

saluti.
 
Discussioni simili
Autore Titolo Forum Risposte Data
W Come effettuare ripetute chiamate Curl con la stessa connessione autentica [PHP] PHP 0
Domenico_Falco1 Rendere dinamico un sito web con chiamate ajax e php e variabili json PHP 12
G [PHP] chiamate di pagine condizionali PHP 2
B [PHP] variabili globali in chiamate ajax PHP 0
B Videocamera Chiamate Voip IP Cam e Videosorveglianza 0
radioButton Chiamate non richieste dall'ip Database 1
webmachine [PHP] lista chiamate PHP 2
F Più chiamate ajax nella stessa pagina Ajax 0
felino Preloader e chiamate ajax all'interno della pagina jQuery 1
S Pagine chiamate ".do?" cosa sono? HTML e CSS 3
M Ajax: eseguire chiamate cross-domain Ajax 1
N costruire la sequenza di chiamate a js Javascript 1
A chiamate da PHP ad altri server HTTP PHP 2
M www.mytcom.it per effettuare chiamate gratis in tutto il mondo senza limiti Presenta il tuo Sito 0
G Invio form con PHP PHP 1
M Barra di navigazione con google HTML e CSS 1
T PROBLEMA CON SESSIONI PHP 3
A Problemi con move_uploaded_file PHP 7
G Menù a tendina di ricerca con query PHP 1
T fatture con voci fattura in php PHP 0
A Tabella con bottoni per aggiornamento record PHP 6
M Come selezionare e deselezionare radiobutton con jquery jQuery 1
MarcoGrazia Calcolo fra due date con esclusione delle feste PHP 7
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
M Inviare un file su un server remoto con JavaScript Javascript 0
L problema con query select PHP 2
M Come validare textarea con jquery jQuery 0
M Problemi con la stampa dei valori in php PHP 1
A Regex per isolare link interni con rel noopener PHP 0
L Problemi con il login PHP 2
F Creare elementi html con javascript Javascript 2
R Problema query con ricerca id numerico PHP 2
R [C#] Quali dipendenze occorrono su progetto "Setup" con Access Database? .NET Framework 0
F Problema con risposta PHP 0
A Sottoquery con group by per mese MySQL 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A Quale NVR con ingressi bnc ? IP Cam e Videosorveglianza 1
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
T Film interattivo con linguaggi web Programmazione 7
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Barierta Testo a comparsa con passaggio del mouse Javascript 13
M Estrarre valore con SELECT COUNT PHP 0
G VBA OpenForm con WhereCondition + LIKE su campi differenti MS Access 5
sara3 Offresi articolista con esperienza Offerte e Richieste di Lavoro e/o Collaborazione 2
L Problema RAM con Tomcat 8 Apache 0
S connesso, internet non disponibile ( con extebder tp-link850) Reti LAN e Wireless 0
L Menù con switch case C/C++ 1

Discussioni simili