Joomla.it Forum

Non solo Joomla... => Sviluppo => : WaPoNe 16 Dec 2013, 10:26:04

: HttpRequest
: WaPoNe 16 Dec 2013, 10:26:04
Ciao a tutti,
sono newbie di Joomla..

io vorrei semplicemente effettuare una chiamata Http all'interno di un mio componente.


Ho provato ha creare un oggetto della classe HttpRequest


$r = new HttpRequest('http://www.xxx.xxx/xxx.xxx', HttpRequest::METH_POST);
$r->send();


ma non trova la classe.
Come devo fare per importarla?


Grazie,
WaPoNe
: Re:HttpRequest
: mau_develop 16 Dec 2013, 16:57:36
metti la classe nella libreria e la includi
: Re:HttpRequest
: WaPoNe 17 Dec 2013, 09:08:53
Sono riuscito a risolvere utilizzando la classe Jhttp contenuta nel file http.php delle librerie:

jimport ('joomla.http.http');

$r = new Jhttp();
$r->post($url, $data, $headers);

Funziona ma non so se è la strada giusta.

In ogni caso, per seguire la tua soluzione, dovrei inserire il file nella cartella "libraries" e poi importarla ma come?
jimport ('nome_file.php'); ?

Ciao e grazie,
WaPoNe
: Re:HttpRequest
: mau_develop 17 Dec 2013, 13:30:11
Giusto come hai fatto
: Re:HttpRequest
: mmleoni 17 Dec 2013, 14:26:20
la classe httpRequest, che fa parte della libreria pecl_http, non è una libreria di joomla e/o un file php, ma un'estensione del server php e deve quindi essere installata a livello di server.

pertanto si può verificare se è installata da informazioni di sistema -> informazioni php, ma se non è presente non si può fare niente se non rivolgersi all'assistenza.

ciao

: Re:HttpRequest
: WaPoNe 18 Dec 2013, 10:17:18
Ciao mmleoni,
ho provato a verificare se l'estensione pecl_http è installata sul server del mio provider ma.. sembra di no.

Io cmq la soluzione l'ho trovata e l'ho descritta un paio di post in su.

Ma, supponiamo avessi una classe di una libreria da usare, l'iter è questo:

1. inserire il file nella cartella "libraries";
2. importarla con il comando jimport ('nome_file.php').

Giusto?

Ciao,
WaPoNe
: Re:HttpRequest
: mmleoni 18 Dec 2013, 12:14:37
dipende dai casi, ma è mia convinzione che se un file/libreria non abbia un possibile uso comune, sia meglio lasciarla nella cartella del componente, in modo da non lasciare in giro codice unmanaged e di difficile attribuzione.

ciao,
marco