[Configuration] une limite aux accolade?
Bonjour a tous!
Je viens de remarquer un problème
mon code est
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
<?
require_once("block.php");
class Module
{
private $id; // identifiant unique
private $name; // nom du module
private $dirName; // r�ertoire du module
private $className; // nom de la classe
//private $blocks; // les diff�ents blocs (tableau)
private $tables; // les tables SQL (tableau)
private $isActive; // module est actif ?
private $version; // num�o de version du module
private $blocks; // les blocks du module
function __construct()
{
}
function __destruct()
{
}
// pour installer le module (inscrire les tables sql dans la base)
function install()
{
$sqlFile="../modules/".$this->dirName."/sql/install.sql";
//echo $sqlFile;
if(file_exists($sqlFile))
{
$handle=fopen($sqlFile,"r");
$sql=fread ($handle, filesize ($sqlFile));
fclose ($handle);
$inst = explode(";", $sql);
$n = count($inst);
for($i=0;$i<$n;$i++){
if(trim($inst[$i])!=""){
//echo "Instruction $i : ";
// insertion des tables
mysql_query($inst[$i]) or die("Erreur : ".mysql_error()." $sql");
//echo "OK.<br>";
}
}
//mysql_close();
//mysql_query($sql) or die("Erreur : ".mysql_error()." $sql");
}
else // si pas de tables pour ce module
{
}
// insertion du module dans la table module
$req_insert_module="INSERT INTO module VALUES ('', \"$this->name\", \"$this->dirName\", \"$this->className\", 1, \"$this->version\")";
$res_insert_module=mysql_query($req_insert_module) or die("Erreur : ".mysql_error()." $req_insert_module");
$this->id=mysql_insert_id();
}
function isInstalled()
{
$req_installed="SELECT * FROM module WHERE dirName=\"$this->dirName\"";
$res_installed=mysql_query($req_installed) or die("Erreur : ".mysql_error()." $req_installed");
if(mysql_num_rows($res_installed)>=1) // module d��install�
return true;
else return false;
}
// pour d�installer le module (virer les tables)
function remove()
{
}
// activez le module, si il est d�activer
function activate()
{
}
// d�activer le module, si il est activ�
function deactivate()
{
}
function installBlock($b)
{
}
function removeBlock($b)
{
}
function setName($n)
{
$this->name=$n;
}
function setDirName($d)
{
$this->dirName=$d;
}
function setClassName($c)
{
$this->className=$c;
}
function setId($i)
{
$this->id=$i;
}
function setVersion($v)
{
$this->version=$v;
}
function setBlocks($b)
{
$this->blocks=$b;
}
function getName()
{
return $this->name;
}
function getDirName()
{
return $this->dirName;
}
function getClassName()
{
return $this->className;
}
function getId()
{
return $this->id;
}
function getVersion()
{
return $this->version;
}
function getBlocks()
{
return $blocks;
}
function getBlock($i)
{
return $blocks[$i];
}
function setActive($a)
{
$this->isActive=$a;
}
function isActive()
{
return $this->isActive;
}
function toAssociativeArray()
{
$tab['id']=$this->id;
$tab['name']=$this->name;
}
}
?> |
et quand je l'affiche le navigateur me renvoie:
"Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/marco/public_html/module.php on line 6"
Vous allez me dire t'a oublier une accolade... mais elles y sont toute.
Donc ensuite g mit une accolade fermante en remontant dans mon code pour voir quand elle est reconnu et g remarqué que si je l'a met avant
Code:
1 2 3 4 5
|
function removeBlock($b)
{
} |
l'accolade est reconnue comme fermante de ma "class" et si je l'a met apres elle ne l'ai pas!
Sur ce j'ai fait un fichier php test ou il n'y a rien si ce n'est une accolade ouvrante et une fermante puis j'ai fait des saut de lignes et au bout de la 88ieme ligne sauté mon accolade n'est plus reconnue comme fermante!
Bizare!si vous avez une idée,merci d'avance parce que c'est super chiant
ps: mon éditeur est kate sur Ubuntu 5.04