Utilizzo dei metodi

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
C'è un modo per utilizzare i metodi di una classe all'interno di un'altra senza usare extends?
Ad esempio io ho questa classe che ho creato per eseguire le query:
PHP:
class PDOEngine
{
    /**
     * The class to store PDO objects
     *
     * @var    object
     * @access public
     */
    public $db;
    
    /**
     * Database connection
     *
     * @param string dsn
     * @param string database username
     * @param string database password
     *
     * @return true on success
     * @access public
     */
    public function __construct($dsn, $username, $password)
    {
        try {
            $this->db = new PDO($dsn, $username, $password);
        }

        catch(PDOException $exception) {
            echo die('Connection failed: ' . $exception->getMessage());
        }
        
        $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        
        return true;
    }
    
    /**
     * Executes an SQL query on the database
     *
     * @param string SQL query
     *
     * @return query data
     * @access public
     */
    public function query($sql)
    {
        $query = $this->db->query($sql);
        
        return $query;
    }
    
    /**
     * Execute an SQL query on the database
     *
     * @param string SQL query
     * @param string array of values
     *
     * @return query data
     * @access public
     */
    public function execute($sql, $values)
    {
        $query = $this->db->prepare($sql);
        $query->execute($values);
        
        return $query;
    }
    // ....
}
Se in un'altra classe avessi bisogno di interrogare il database utilizzando uno dei metodi di sopra come dovrei fare?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Potresti richiamare la classe all'interno del metodo:

PHP:
class AltraClasse {
     public function interroga() {
         $sql = new PDOEngine();
         
         $query = "SELECT * FROM tabella";
         $sql->query($query);
     }
}
 

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Non va, mi restiruisce questo errore:
Catchable fatal error: Object of class PDOStatement could not be converted to string

Non c'è un modo per richiamare una variabile normale all'interno di un metodo?
Perchè stavo pensando di creare un file dove istanziare le classi per poi utilizzare l'oggetto creato in altre classi, ad esempio:

file init.php
PHP:
<?php
require_once 'pdo_engine.class.php';
$db = new PDOEngine();
require_once 'altra_classe.php';
?>

file altra_classe.php
PHP:
<?php
class Altra_classe
{
    public function test()
    {
        global $db;
        $test = $db->query("SELECT c FROM t");
        return $test;
    }
}
?>

Poi in un file generico potrei includere il file init.php e instanziare la classe Altra_classe per utilizzare i suoi metodi e quelli di PDOEngine.
Solo che non so se ha senso questa cosa, ho provato a farla ma non mi restituisce niente.
 
Discussioni simili
Autore Titolo Forum Risposte Data
alankanz Utilizzo dei temi PHP 2
F utilizzo dei logo... Leggi, Normative e Fisco 0
S Utilizzo variabili di sessione tra PC e server PHP 0
F utilizzo di webpack e babel Javascript 0
M [PHP] utilizzo di una classe e delle sue funzioni PHP 2
gandalf1959 [PHP] problema con l'utilizzo di Header PHP 3
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
Y [Javascript] suggerimenti su utilizzo onreadystatechange = function() Javascript 7
C [Javascript] problema nell'utilizzo di un array Javascript 2
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
L [HTML] Domanda: Utilizzo script HTML e CSS 0
M [HTML] Utilizzo metadati SVG xmlns: HTML e CSS 2
N Acquisto Dominio e utilizzo di CMS Domini 3
L VENDO PAGINA FACEBOOK 8000 LIKES REALI (PAGINA POCO ATTIVA, VENDO PER NON UTILIZZO) Annunci servizi di Social Media Marketing 17
S [PHP] Utilizzo di Override PHP 0
V simulare App: cosa utilizzo? Programmazione 0
V [PHP] utilizzo di metodi statici in altra classe PHP 5
S Termini di utilizzo Leggi, Normative e Fisco 4
Gabriele Visioli Utilizzo Newsletter con E-mail Leggi, Normative e Fisco 0
N utilizzo tag base in jquery jQuery 0
R utilizzo di cors for cross domain requests Ajax 0
O utilizzo database sqlite su android Database 0
T Utilizzo Handler per aggiornamento Seek Bar Sviluppo app per Android 4
K Supporto - consigli e chiarimenti per utilizzo transazioni ... PHP 6
asevenx Funzione strpos con l'utilizzo di array PHP 4
L Consigli su utilizzo framework per progetto PHP 5
V Utilizzo di frasi celebri, aforismi, proverbi trovati in Internet Discussioni Varie 0
A [PHP] Utilizzo frameworks html... messaggio eliminato! PHP 0
A Errore su utilizzo Split Classic ASP 1
L segnalare l'utilizzo delle sessioni come accade per i cookie PHP 0
K accesso da altro host pc al database (utilizzo grant) MySQL 2
R Utilizzo software creazione siti Windows e Software 0
T Aiuto utilizzo spinner Sviluppo app per Android 3
V Utilizzo gestionale da remoto Reti LAN e Wireless 1
M esempio di utilizzo jquery con mysql PHP 0
C Utilizzo di YUI Compressor e di Gzip per script html/javascript HTML e CSS 1
D Utilizzo pagina 404 PHP 0
Web Designer Posta elettronica: utilizzo e normative Leggi, Normative e Fisco 2
V Aiuto su utilizzo ARRAY ed eventuale salvataggio all'interno del database! PHP 20
nim utilizzo database MySQL 8
G problema utilizzo highslide-gallery Javascript 0
A chiarimento utilizzo @ PHP 2
T Copyright siti web/vendere manuali su utilizzo di siti o programmi Leggi, Normative e Fisco 4
N Select dinamica con utilizzo di php e JQuery jQuery 5
M Utilizzo Template Mr. Webmaster Supporto Mr.Webmaster 1
M Problema con l'utilizzo delle Session PHP 3
H Informazione nell'utilizzo di video Leggi, Normative e Fisco 0
catellostefano Utilizzo BIND su windows Apache 4
L Utilizzo Mod Rewrite Classic ASP 2
A consiglio sull utilizzo di html HTML e CSS 3

Discussioni simili