Page 1 sur 1

Accès à une propriété d'une autre classe

Posté : 25 mars 2011, 17:13
par albius
Bonjour/ bonsoir,

J'ai la classe suivante:
class Auth {

    private $db; //variable qui recoie l'objet de connexion PDO
    var $erreurPage = 'files/erreurs/500.html'; //var de redirection en cas d'erreur
...
//instanciation
$auth = new Auth($PDO);
}
J'ai une deuxième classe dans laquelle j'aimerais appeler la propriété $erreurPage de la première classe:
class searchComptes {

    private $objAuth;
    private $db;

    public function __construct($db, $objet){
        $this->db = $db;
        $this->objAuth = $objet;
        var_dump($this->objAuth);
...
$searchCompte = new searchComptes($PDO, $auth);
    }
l'objet $auth est bien accessible par cette classe:

Code : Tout sélectionner

object(Auth)[2] private 'db' => object(PDO)[1] public 'erreurPage' => string 'files/erreurs/500.html' (length=22)
Mais je n'arrive pas à utiliser 'erreurPage'. Dans une méthode, j'aimerais y faire appel:
header('Location:'.$this->objAuth->erreurPage);
mais j'obtiens systématiquement une erreur... Comment faire ?
merci,

Re: Accès à une propriété d'une autre classe

Posté : 25 mars 2011, 17:21
par stealth35
$this->objAuth->db->erreurPage non ?

sinon c'est pas var mais public

Re: Accès à une propriété d'une autre classe

Posté : 28 mars 2011, 11:30
par albius
Ben non... et
header('Location:'.$this->objAuth->erreurPage);
est correct ce matin (curieusement d'ailleurs) Un problème de cache peut-être... je l'avais pourtant désactivé...
En terme d'encapsulation, var ne correspond pas à public ?
merci,

Re: Accès à une propriété d'une autre classe

Posté : 28 mars 2011, 12:16
par moogli
Yop,

Effectivement var indique une propriété public mais ce qu'indique stealth35 c'est que var est une methode obsolète de déclarer ses attributs dans une classe (c'est la version poo de php 4).
Si tu utilise php5 utilise public protected ou private cela t'évitera les problemes de compatibilité a l'avenir (si la version php4 n'est plus acceptée avec php 5 par exemple)


@+

Re: Accès à une propriété d'une autre classe

Posté : 28 mars 2011, 15:34
par albius
Merci pour la précision !