A parte che non si può estendere un'interfaccia, ma qua secondo me hai già un problema nel tipo di collegamento che c'è tra "gestione", "Myconn" e "user".
Il primo consiglio di base è questo: uniforma il codice. Non puoi avere gestione, Myconn e user, ovvero
gestione = italiano, nome completo, iniziale minuscola
Myconn = inglese, nome abbreviato, iniziale maiuscola
user = inglese, nome completo, iniziale minuscola
Già questo è un brutto punto di partenza.
Ora, per venire al tuo problema, prova per favore a spiegare a cosa serve di preciso la classe gestione. Forse mi sfugge qualche dettaglio, ma non riesco a capire a cosa serva. Per come la vedo io, hai due classi indipendenti:
Codice PHP:
<?php
interface ConnectionInterface
{
public function __construct($configuration);
public function query($query);
}
class PDOConnection implements ConnectionInterface
{
private $resource = null;
public function __construct($configuration)
{
$this->resource = new PDO('mysql:host=' . $configuration['host'] . ';dbname=' . $configuration['dbname'], $configuration['username'], $configuration['password']);
}
public function query($query)
{
return $this->resource->query($query)->fetchAll(PDO::FETCH_ASSOC);
}
}
class User
{
private $connection = null;
public function __construct(ConnectionInterface $connection)
{
$this->connection = $connection;
}
}
Questo è fatto tutto abbastanza di fretta. Se mi spieghi bene a cosa serve "gestione" magari posso aiutarti ulteriormente