Parse error php/MySql

Résolu
ano -  
Akronos Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voici mon code qui me met parse error !
bool class_exists (string $Form_Input);
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
abstract class Form_Input extends Form_Field {

public function __construct($name, $form) {

parent::__construct($name, $form);
$this->attrs['type'] = 'text';
}

public function get_cleaned_value($value) {

$value = trim($value);
return parent::get_cleaned_value($value);
}

// abstract public function __toString($tab = '');
public function __toString()
{
$tab = '';
$o = $tab.'<form'.$this->attrs.'>'."\n";

if (empty($this->fieldsets)) {

$o .= $this->_html_fields($tab."\t", array_diff_key($this->fields, $this->hidden_fields, $this->submit_fields));
if (!empty($this->hidden_fields)) { $o .= $this->_html_hidden_fields($tab."\t", $this->hidden_fields); }
$o .= $this->_html_fields($tab."\t", $this->submit_fields);

} else {

$hidden_fields = $this->hidden_fields;
$submit_fields = $this->submit_fields;

foreach ($this->fieldsets as $legend => $fields) {

$o .= $this->_html_fieldset($tab, $legend, $fields);

foreach($fields as $f) {

unset($hidden_fields[$f], $submit_fields[$f]);
}
}
if (!empty($hidden_fields)) { $o .= $this->_html_hidden_fields($tab."\t", $hidden_fields); }
if (!empty($submit_fields)) { $o .= $this->_html_fields($tab."\t", $submit_fields); }
}
$o .= $tab.'</form>';
return $o;
}
}

en fait je veux vérifier si ma classe existe !

Merci de votre aide
A voir également:

9 réponses

ano
 
line 511 : bool class_exists (string $Form_Input);
0
Akronos Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   32
 
Le problème es que tu code comme en C.
Bien que le langage PhP ressemble au langage C il est COMPLÈTEMENT différent...
inutile de déclaré le type de tes variables.

bool class_exists (string $Form_Input);
||
V
class_exists ($Form_Input);
ou
$bool = class_exists ($Form_Input);
0
ano
 
en effet ça marche déjà mieux, mais toujours une erreur :
Undefined variable: Form_Input
class_exists ($Form_Input);
0
Akronos Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   32
 
Ta variable $Form_Input n'est pas déclaré.

Je m'explique: class_exists vérifie si la classe est définie. $Form_Input doit donc correspondre au nom d'une de tes classes. Exemple: $Form_Input = 'MyClass';
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ano
 
Merci beaucoup, cette erreur ne s'affiche plus !

c'est bien ce code qu'on doit mettre pour voir si une classe a déjà été déclarée ?
que doit-on faire quand "Cannot redeclare class Form_Input " s'affiche ?
0
Akronos Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   32
 
Alors:
if (class_exists('MyClass'))  
{  
 $myclass = new MyClass();  
}   

Ce bout de code vérifie que ta classe est bien définie, elle existe, elle est inclus, bref si tout est ok, tu l'instancie.

Si tu as l'erreur:
Cannot redeclare class Form_Input

C'est que ta classe Form_Input est déclarée plusieurs fois. Il faut voir au niveau de tes requires/includes.

Pour inclure tes classes je ne peux que te conseiller d'utiliser require_once("Classe/MaClasse.php");

require à la différence d'include va émettre une erreur de compilation si le fichier n'existe pas, include se contente d'un warning.
le _once permet de n'inclure le fichier qu'une seule fois.

CF ici
0
ano
 
Je te remercie pour tout ! ça fonctionne ! plus d'erreur à ce niveau la !
Merci =)
0
Akronos Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   32
 
De rien.

Oublie pas de marqué comme résolu.
0
Skeletyon Messages postés 1552 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour.
Il serai bien de nous donner la ligne ou le parse error est trouvé.

Ensuite, une vérification avec isset serait je pense approprié.

if (isset(class_exists('MyClass'))) 


-1
Akronos Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   32
 
Pourquoi utiliser isSet au fait?
class_exists envoie un booléen true/false...
0