Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2008, 03h23   #1
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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 :
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é :
Citation:
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 :
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2008, 17h54   #2
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Bonjour,

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

Code :
$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 ?
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2008, 18h23   #3
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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 :
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.
Citation:
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2008, 19h37   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu dois utiliser $this partout pour accéder aux attributs
Code :
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);
	}
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2008, 23h25   #5
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h41.


 
 
 
 
Partenaires

Hébergement Web