Back to top

Autore Topic: [RISOLTO]Problema "include" file in un modulo  (Letto 5619 volte)

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
[RISOLTO]Problema "include" file in un modulo
« il: 23 Giu 2014, 15:54:01 »
Salve a tutti, sto creando un modulo per la versione 2.5 di Joomla. Ho il seguente problema: sembra che il file helper non venga incluso nell'entry point del modulo.
Uso l'istruzione
Codice: [Seleziona]
require_once( dirname(__FILE__).DS.'helper.php' );[size=78%] per caricare il file helper.[/size]
Quando richiamo un metodo della classe definita nel file helper il server mi riporta un fatal error, che specifica che la classe non è stata trovata.
Eppure se non sbaglio, l'istruzione require dovrebbe interrompere lo script se il file non viene caricato, mentre lo script gira fin quando non richiamo la classe del file helper.
Qualcuno sà aiutarmi?
« Ultima modifica: 27 Giu 2014, 15:12:34 da loryzizu »

mau_develop

  • Visitatore
Re:Problema "include" file in un modulo
« Risposta #1 il: 23 Giu 2014, 15:58:12 »
la classe non è stata trovata...mica il file..o sbaglio? ...il naming?

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #2 il: 23 Giu 2014, 16:04:08 »
Sì, esatto, la classe, per questo la cosa mi risulta incomprensibile. Richiamo la classe così:
Codice: [Seleziona]
$resultAut=functionsProposta::autentication();
[/size][size=78%]Nel file helper la classe è definita:[/size]
[/size]
[/size]
Codice: [Seleziona]
class functionsProposta{
   
   public static function autentication(){
      //some code...
   }
}

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #3 il: 23 Giu 2014, 16:12:34 »
Tanto che se copio e incollo manualmente la classe invece di richiamarla, tutto funziona.  :o

mau_develop

  • Visitatore
Re:Problema "include" file in un modulo
« Risposta #4 il: 23 Giu 2014, 16:14:48 »
..il naming?

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #5 il: 23 Giu 2014, 16:15:15 »
Scusa l'ignoranza ma non capisco che intendi.

mau_develop

  • Visitatore
Re:Problema "include" file in un modulo
« Risposta #6 il: 23 Giu 2014, 16:17:49 »
guarda joomla come chiama le classi, esiste un camel-case

usa require_once __DIR__ . '/helper.php';
usalo ovviamente nell'entry point

evita di usare nomi che potrebbero essere riservati tipo function/s

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #7 il: 25 Giu 2014, 12:29:21 »
Ho rinominato classe e metodi di classe, ho provato pure a cambiare server, ma niente, sempre lo stesso problema.

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #8 il: 26 Giu 2014, 12:50:22 »
forse fai prima a postare il codice, xche cosi sembra una cosa senza senso, non ci sono convenzioni o cose particolari sui moduli, la cosa piu scema che mi viene in mente e che fai il require dopo aver tentato di accedere alla classe ma non penso sia questo il tuo problema (lo spero  :) :) :) )
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #9 il: 26 Giu 2014, 16:13:59 »
Hai ragione, è una cosa che non mi spiego.


mod_prova1.php:
Codice: [Seleziona]
<?php
/**
 Entry node
 */
 
// no direct access
defined'_JEXEC' ) or die( 'Restricted access' );
 
// Include the syndicate functions only once
require_once __DIR__ '/helper.php';
if(
modProva1::provaFunzione()){
   echo 
"Funzione richiamata";
}
require( 
JModuleHelper::getLayoutPath'mod_prova1' ) );
?>

helper.php:

Codice: [Seleziona]

<?php/*


FILE HELPER


*/
class modProva1{
   public static function 
provaFunzione(){
      echo 
"Funzione richiamata con successo";
      return 
true;
   }   
}
?>

Errore restituito dal server: Fatal error: Class 'modProva1' not found in C:\wamp\www\Joomla_2.5.19_ita-Stable\modules\mod_prova1\mod_prova1.php on line11

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #10 il: 26 Giu 2014, 16:46:39 »
Prova a fare un echo __DIR__.'/helper.php';

Perche se hai una versione più vecchia del php 5.3 __DIR__ non esiste ma devi usare dirname(__FILE__)

Insomma il tuo problema è legato sicuramente all'ambiente di sviluppo, ho provato ad emulare quello che hai fatto e a me funziona tutto

------

Mi son reso conto ora che usi joomla 2.5 quindi prova a fare __DIR__.DS.'helper.php'
« Ultima modifica: 26 Giu 2014, 16:48:27 da simone83 »
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

mau_develop

  • Visitatore
Re:Problema "include" file in un modulo
« Risposta #11 il: 26 Giu 2014, 21:20:24 »
i backslash?

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:Problema "include" file in un modulo
« Risposta #12 il: 27 Giu 2014, 00:25:13 »
Niente, non funziona. Anche perchè ripeto che il require viene eseguito, altrimenti darebbe un errore relativo ad esso. Divento pazzo!

Offline loryzizu

  • Nuovo arrivato
  • *
  • Post: 21
    • Mostra profilo
Re:[RISOLTO]Problema "include" file in un modulo
« Risposta #13 il: 27 Giu 2014, 15:13:49 »
Nel file helper mancava l'istruzione:


Codice: [Seleziona]
defined('_JEXEC') or die('Restricted access');

Grazie a tutti quelli che hanno risposto.

 



Web Design Bolzano Kreatif