IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Erreur dans ma classe de galerie


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut [POO] Erreur dans ma classe de galerie
    Bonsoir je tente d'instancier une class correctement en y implantant ma class album et smarty.
    Le problème c'est que j'ai une erreur fatale plutôt génante, ce qui me laisse penser que le constructeur est mal conçu ou juste un oubli quelque part.
    La class qui me pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?php
    require('../../_scriptroot/include/class.img.php');
    require '../../_scriptroot/include/extend.smarty.php';
     
    class IniCreatePage{
    	/**
    	 * Function Construct Class
    	 *
    	 */
    	function __construct(){
    		$this->dir = '../../creations';
    		$this->MySmarty() = $smarty;
    		$this->albumURL();
    	}
    	/**
    	 * function load item galery and assign
    	 *
    	 */
    	function loadGalery(){
     
    		$dirArray = $Array->php5scandir($dir);
    		$smarty->assign('dirArray', $dirArray);
    		$smarty->assign('dir', $dir);
    	}
    	/**
    	 * function Inipage and display page
    	 *
    	 */
    	function IniPage(){
    		$_scripRootUrl = "http://www.monsite.dev/";
    		$smarty->assign('_scripRootUrl',$_scripRootUrl);
    		$smarty->display('create/index.tpl');
    	}
    }
    ?>
    Ma fonction php5scandir retourne un tableau contenant mes images en me basant sur le $dir qui est bien entendu le dossier.
    Voici l'erreur retourné :
    Fatal error: Can't use method return value in write context in /opt/lampp/htdocs/monsite/_scriptroot/create/function_galery.php on line 12
    Je vous donne quand même mon extension de smarty (MySmarty):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    /**
     * Extend class smarty
     *
     */
     
    class MySmarty extends Smarty
    {
       function __construct()
       {
            $this->Smarty();
            $this->config_dir = "../../_scriptroot/smarty/configs/";
            $this->template_dir = "../../templates/";
            $this->compile_dir = "../../_scriptroot/smarty/templates_c/";
            $this->debugging = false;
            $this->compile_check = true;
     
       }
    }
    Une petite explication de mon erreur serai la bienvenue faut dire l'objet c'est bien mais quand on le paume c'est embêtant lol
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    C'est quoi la ligne 12 ? C'est bien celle là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->MySmarty() = $smarty;
    Le message d'erreur dit que tu essaies de faire une assignation dans un contexte d'écriture. Nous vla bien avancés...

    Mais c'est quoi cette variable $marty dans le constructeur ? Je ne la vois initialisée nulle part. C'est normal docteur ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    C'est vrai que la cela faisais bizarre , mais je n'arrive pas a accéder au class.
    j'ai redéfini comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function __construct(){
    		$this->dir = '../../creations';
    		$smarty = new MySmarty();
    		$Array = new albumURL();
    	}
    	/**
    	 * function load item galery and assign
    	 *
    	 */
    	function loadGalery(){
     
    		$dirArray = $Array->php5scandir($dir);
    		$smarty->assign('dirArray', $dirArray);
    		$smarty->assign('dir', $dir);
    	}
    En fait je pensais initialisé les 2 class dans le constructeur afin d'y avoir accès aisément dans tous le reste mais apparemment c'est pas trop sa.
    Fatal error: Call to a member function php5scandir() on a non-object in /opt/lampp/htdocs/monsite/_scriptroot/create/function_galery.php on line 21
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    tu dois utiliser $this partout pour accéder aux attributs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	function __construct(){
    		$this->dir = '../../creations';
    		$this->smarty = new MySmarty();
    		$this->Array = new albumURL();
    	}
    	/**
    	 * function load item galery and assign
    	 *
    	 */
    	function loadGalery(){
     
    		$dirArray = $this->Array->php5scandir($this->dir);
    		$this->smarty->assign('dirArray', $dirArray);
    		$this->smarty->assign('dir', $this->dir);
    	}

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    merci mathieu, j'ai mis en oeuvre la réparation de mon erreur et cela fonctionne parfaitement.
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans une classe !
    Par perdos dans le forum C#
    Réponses: 6
    Dernier message: 16/08/2007, 13h03
  2. Gestion des erreurs dans une classe
    Par gregb34 dans le forum ASP.NET
    Réponses: 10
    Dernier message: 26/07/2007, 09h59
  3. [POO] Variable dans une classe
    Par Space Cowboy dans le forum Langage
    Réponses: 3
    Dernier message: 15/02/2007, 20h23
  4. [POO] Fonctions dans une classe abstraite
    Par Seth77 dans le forum Langage
    Réponses: 4
    Dernier message: 27/06/2006, 13h21
  5. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo