Problème avec une classe [Résolu]

Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
- - Dernière réponse : dalou83
Messages postés
4
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008
- 25 avril 2008 à 16:13
Cela fait 3 heures que j'essaye de comprendre où est l'erreur.

J'ai fait une classe :

<HR>
class creer_RSS {
var $fichier_xml;
var $title_channel;
var $url_channel;
var $description_channel;
var $language_channel;
var $copyright_channel;
var $lastBuildDate_channel;
$this->fichier_xml = '<?xml version="1.0"?>';
$this->fichier_xml. = '<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">';
$this->fichier_xml. = '<channel>';
$this->fichier_xml. = '<title>'.$this->title_channel.'</title>';
$this->fichier_xml. = '<link>'.$this->url_channel.'</link>';
$this->fichier_xml. = '<description>'.$this->description_channel.'</description>';
$this->fichier_xml. = '<language>'.$this->language_channel.'</language>';
$this->fichier_xml. = '<copyright>'.$this->copyright_channel.'</copyright>';
$this->fichier_xml. = '<lastBuildDate>'.$this->lastBuildDate_channel.'</lastBuildDate>';
function rajouter_item ($title,$link,$description,$comments,$pub_date) {
$this->fichier_xml. = '';
$this->fichier_xml. = '<title>'.$title.'</title>';
$this->fichier_xml. = '<link>'.$link.'</link>';
$this->fichier_xml. = '<description>'.$description.'</description>';
$this->fichier_xml. = '<comments>'.$comments.'</comments>';
$this->fichier_xml. = ''.$pub_date.'

';
$this->fichier_xml. = '';
}
$this->fichier_xml. = '</channel>';
$this->fichier_xml. = '</rss>';
$this->ecriture_rss = fopen('backend.rss','w+');
fwrite($this->ecriture_rss,$fichier_xml);
fclose($this->ecriture_rss);
}

<HR>
Qui me donne toujours cette erreur :

<HR>
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in c:\documents and settings\*****\bureau\projets\******\creer_rss.html on line
10

<HR>

Quelqu'un peut t-il essayer de me dépanner ? Là, je n'ai vraiment plus d'idée. En plus, je sais que l'erreur est toute bète. C'est rageant.

Voilà, à l'aiiiiiiiiiiiiiiiide !!!

Et merci d'avance
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
3
Merci
Trop simple :p

Dans une classe, il te faut une methode au minimum (le constructeur en PHP5).

donc en faite :



class creer_RSS {
var $fichier_xml;
var $title_channel;
var $url_channel;
var $description_channel;
var $language_channel;
var $copyright_channel;
var $lastBuildDate_channel;

function creer_RSS() { // Qui est le constructeur en PHP4. En PHP5, tu dois utiliser __construct()
$this->fichier_xml = '<?xml version="1.0"?>';
$this->fichier_xml. = '<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">';
$this->fichier_xml. = '<channel>';
$this->fichier_xml. = '<title>'.$this->title_channel.'</title>';
$this->fichier_xml. = '<link>'.$this->url_channel.'</link>';
$this->fichier_xml. = '<description>'.$this->description_channel.'</description>';
$this->fichier_xml. = '<language>'.$this->language_channel.'</language>';
$this->fichier_xml. = '<copyright>'.$this->copyright_channel.'</copyright>';
$this->fichier_xml. = '<lastBuildDate>'.$this->lastBuildDate_channel.'</lastBuildDate>';
}

function rajouter_item ($title,$link,$description,$comments,$pub_date) {
$this->fichier_xml. = '';
$this->fichier_xml. = '<title>'.$title.'</title>';
$this->fichier_xml. = '<link>'.$link.'</link>';
$this->fichier_xml. = '<description>'.$description.'</description>';
$this->fichier_xml. = '<comments>'.$comments.'</comments>';
$this->fichier_xml. = ''.$pub_date.'

';
$this->fichier_xml. = '';
}
$this->fichier_xml. = '</channel>';
$this->fichier_xml. = '</rss>';
$this->ecriture_rss = fopen('backend.rss','w+');
fwrite($this->ecriture_rss,$fichier_xml);
fclose($this->ecriture_rss);
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 129 internautes nous ont dit merci ce mois-ci

Commenter la réponse de FhX
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
8
0
Merci
Je viens de regarder ton code avec un colorateur TSynEdit [download] qui est un de mes programmes. Résultat : rien de probant.

Au lieu de :
$this->fichier_xml. = 'qqch';
fait (remarque les espaces)
$this->fichier_xml .= 'qqch';

Et enfin:
=495433 http://www.phpcs.com/forum.v2.aspx?ID=495433

Je ne vois que ça...

===========
Validez les réponses si ok...

ViewVite : HTML
Commenter la réponse de cs_grandvizir
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
Salut

J'ai aussi un colorateur syntaxique, mais il ne me montre rien qui ne va pas. Les espaces ne changent rien, et la dernière solution ne peut pas etre bonne étant donné que le fichier XML n'est pas créé.

D'autres solutions ?
Commenter la réponse de massacr
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
Ca maaaaaaaaarche !!

Trop simple, heu, fallait quand meme le savoir !!

Merci.
Commenter la réponse de massacr
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Bah, faut lire avant de creer des classes ;-)

Declaration de la classe

declaration des variables membres

constructeur

methodes

destructeur



les $this ne peuvent s'utiliser que dans les methodes (le constructeur et le destructeur en etant).



Pour ajouter a ce qu'a dit FHx, en php5, on doit aussi declarer
"l'etat" des methodes et variables membres (je dis etat parce que la le
nom m'echappe) : public, protected ou private.
Commenter la réponse de malalam
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
Je vais lire php.net pour enregistrer tout ca.

Sinon, j'ai un autre problème, mais pas pour les classes. C'est à cause du XML. Il n'accepte pas le caractère & dans les URL. Mais je DOIS m'en servir. Comment faire ?

Merci.
Commenter la réponse de massacr
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
xml, url ..?

Bref, tu devrais encoder ce que tu passes.

url_encode () (ou urlencode je me souviens plus).

base64encode si tu passes un gros truc (tableau, image, objet etc).
Commenter la réponse de malalam
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
urlencode() ne marche pas. J'ai trouvé une solution en mettant moins de varaibles, mais ce n'est qu'une astuces, et pas une solution. En fait mon problème va plus loin, les accents non plus ne passent pas. Je ne comprend pas ce qui se passe.
Commenter la réponse de massacr
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Comment ca urlencode ne marche pas lol ?

Attends, c'est quoi le probleme exactement ? Ca ne vient pas de l'url.
Que veux tu dire par "le xml n'accepte pas le caractere &" ?

Montre un exemple du probleme que tu as ?



Pour les accents : utf8_encode () et utf8_decode ()
Commenter la réponse de malalam
Messages postés
233
Date d'inscription
vendredi 2 juillet 2004
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
Bon.

J'ai l'URL : http://index.php?page=8&article=9
Je met ca dans un fichier XML avec un fopen. Quand j'ouvre le fichier avec un lecteur de RSS, il n'affiche rien.
Quand j'essaye avec cette URL : http://index.php?page=8article=9, ca marche.
Donc, je voudrais convertir ce caractère.

Pour les accents, si je les mets dans le XML avec utf8_encode (), je ne veux pas mettre de PHP dans le fichier XML. Où puis-je mettre utf8_decode ()?
Commenter la réponse de massacr
Messages postés
4
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008
0
Merci
salut,
j'ai besoin d'aide dans mon projet :
développement d'un outil pour lire un flux RSS avec filtrage et configuration de contenu
je dois développer avec java en utilisant Eclipse.
Mon problème : j'ai pas su comment élaborer les classes que je dois utiliser?
généralement Les flux RSS sont développés avec PHP ou XML.
merci
Commenter la réponse de dalou83