Sono andato un po' avanti col lavoro e mi sono sorti dei seri dubbi sulla mia implementazione dell'oop, è la prima volta che lo uso e sono un po' disorientato.

Praticamente vorrei creare una classe (o più) che mi permetta di gestire varie azioni (dal log in con oauth alla creazione di file) tramite le api di un servizio chiamato Ubuntu One.

Dopo aver creato una funzione per il login ho cominciato a crearne una per prendere le info su un certo account; in questa seconda funzione utilizzo una variabile che viene definita nella prima e quindi mi dà un errore fatale.

Codice PHP:
<?php

class UbuntuOne//dovrebbe richiedere user, pass e app_name

    
const login_api_url 'https://login.ubuntu.com/api/1.0/authentications?ws.op=authenticate&token_name=Ubuntu%20One%20@%20';
    const 
login_api_tell_url 'https://one.ubuntu.com/oauth/sso-finished-so-get-tokens/';
        
    public function 
getTokens($login_api_url$login_api_tell_url$user_email$pwd$app_name) { //ci dovrebbe essere controllo se token già avuti
        
        
$url self::login_api_url.$app_name//trovare nuovo nome variabili
        
$user_pwd $user_email.':'.$pwd;
        
$curl curl_init($url); //cambiare nome variabile
        
curl_setopt($curlCURLOPT_USERPWD$user_pwd); 
        
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
        
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,2);
        
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
        
$result curl_exec($curl);
        
$result_d json_decode($result1); 
        
curl_close($curl);
                
        
$conskey $result_d['consumer_key'];
        
$conssec $result_d['consumer_secret'];
        
$token $result_d['token'];
        
$secret $result_d['token_secret'];
        
$oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
        
$oauth->enableDebug();
        
$oauth->enableSSLChecks();
        
$oauth->setToken($token,$secret);
        
        
$tellurl self::login_api_tell_url.$user_email;
        
$oauth->fetch($tellurl);
        
print_r($oauth->getLastResponse());
        
        
        }
        
    public function 
getAccountInfo(){
        
        
$info $oauth->fetch("https://one.ubuntu.com/api/account/");
        
        
$info_d json_decode($info);        
        
        return 
$info_d;
        
        
        }

    
    
    }

$u1 = new UbuntuOne;

$connect $u1->getTokens($u1::login_api_url$u1::login_api_tell_url"mail""Pass""try2");

$infoacc $u1->getAccountInfo();

print_r($infoacc);



?>
Ora credo che tutto sia dovuto al fatto che la mia implementazione della classe non sia corretta. Mi potreste dare una mano ad impostarla diversamente?