[Tableaux] Erreur syntaxique sur constructeur, PHP5
Bonjour à tous,
Sur un constructeur de classe, j'obtiens l'erreur suivante :
Code:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR, expecting T_PAAMAYIM_NEKUDOTAYIM in /home4/b/b43ruedesplages/www/inc/rss_item.inc.php5 on line 18
Je développe sur mac (et serveur sous linux), il est possible que les numéros de lignes ne correspondent pas tout à fait, mais l'erreur semble venir du constructeur, qui pourtant me semble correct. Voici les 20 premières lignes de ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php
class RssItem {
private $rss_title = null;
private $rss_link = null;
private $rss_description = null;
private $dc_title = null; // titre de l'ouvrage
private $dc_creator = null; // auteur de l'ouvrage
private $dc_date = null; //date de publication
private $dc_description = null;
private $dc_language = null; // sous la forme W3C : fr-FR ou en
private $dc_publisher = null; //editeur de l'ouvrage
private $dc_rights = null;
private $to = "frederic@43ruedesplages.net";
private $allArgs = null;
public function __construct($rss_title, $rss_link, $rss_description, $rss_language) {
$this->allArgs = array("RssTitle"=>null, "RssLink"=>null, "RssDescription"=>null, "DcLanguage"=>null, "DcCreator"=>null, "DcPublisher"=>null, "DcRights"=>null, "DcDate"=>null);
try { ... |
A priori j'ai pas besoin d'un "::" vu que je n'ai pas de méthodes statiques et que l'erreur semble concerner le constructeur.
Pour info je n'ai pas de cache PHP sur nuxit, et le source est à chaque fois à jour. L'erreur proviendrait t'elle du tableau?
A plus et bon week-end,
Frédéric
RE : Erreur syntaxique ...
Salut,
Merci pour ta réponse.
Le problème est résolu :
- d'une manière un peu étrange à mon avis. J'ai lancé l'analyse du script depuis un fichier appelant et une instanciation de la classe en question, et apparemment ça lui aurait fait du bien de changer de contexte?!
Pour le tableau : c'est en fait une "variable préremplie" que j'importe dans le script appelant, que je remplis puis que je renvoie. J'appelle ensuite les setters dynamiquement avec un eval du genre :
Code:
1 2 3 4 5 6 7 8
| public function setAll($allArgs = array())
{
foreach($allArgs as $args => $valeur)
{
eval("if (false === ($return = $this->set".$args."(".$valeur."))) return false;") ;
}
return |
true;
}
ça m'intéresse donc de le laisser dans le constructeur. Sauf si il y a vraiment une contre-indication?
Si quelqu'un connait la vraie solution du problème syntaxique, je serais vraiment curieux de la connaître.
A plus,
Frédéric