Hum non :( , ca ne passe pas avec les :: , et sur mon editeur zend , il m'indique également une erreur de syntaxe et je n'ai tjs pas accès à mes méthodes de ma class Connection :(
__________________________
[RRP4J]
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
Je suis d'accord avec toi alain ;) , je comprend bien à quoi sert le this , mais vu que c'était la seule manière ou mes méthodes de mon objet connection était accessible je l'ai laissé comme ca .
__________________________
[RRP4J]
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
Héhé ! J'avais pas vu la petite erreur.
Attention, si ton script est identique à celui du premier post, tu as fait une erreur de synthaxe :
ReaM dit : $this->var2 = news classeB($this->var1);
C'est new et non news.
Essaye en corrigeant. Après un coup d'oeil à tête reposée, je voit pas de raison que ca ne marche pas. J'utilise cette méthode hyper souvent.
__________________________
A tous les membres, dite non à la (drogue...) sms-mania !
Avant de poster, vérifiez si la réponse n'est pas dans la FAQ ou un tutorial.
Il n'est pas identique du tout , j'avais juste essayer de mettre les grandes lignes pour vous éviter de lire trop de ligne ;) .
Voici le source dans lequel ca pose problème ( ce n'est pas le derniet jet mais ca suffit amplement ^^ )
<?php
class News
{
private $nbrNews = null;
private $table = null;
private $connection = null;
public function __construct()
{
$this->nbrNews = 5;
$this->table = 'tbl_news';
}
public function DisplayNews()
{
$connection = new Connection($this->table);
$tempSql = $connection->microtime_float();
$newsTemplate = new Template("./");
$result = $connection->execQuerySelect(array('*'),' ');
$nbrNews = mysql_num_rows($result);
if ($nbrNews < $this->nbrNews) $page=1;
else $page= round($nbrNews/$this->nbrNews);
$newsTemplate->set_filenames( array('body' => './templates/news.tpl'));
while( $row = mysql_fetch_array($result) )
{
$newsTemplate->assign_block_vars('news', array(
'TOPIC' => $row['news_topic'],
'CONTENU' => $row['news_contenu'],
'DATE' => $row['news_date'],
'TIME' => $row['news_time'],
'USER' => $row['news_user']
));
}
// Affichage des données
$newsTemplate->pparse('body');
for ($i =1 ; $i <=$page ; $i++) echo $i.' ';
echo 'Temps d\'execution :'.($tempSql - $connection->microtime_float());
unset($connection);
}
public function AdminNews()
{
$connection = new Connection($this->table);
$tempSql = $connection->microtime_float();
$result = $connection->execQuerySelect(array('*'),'where news_id=\'1\'');
$newsTemplate = new Template("./");
$newsTemplate->set_filenames( array('body' => './templates/adminnews.tpl'));
while( $row = mysql_fetch_array($result) )
{
$newsTemplate->assign_vars( array(
'TOPIC' => $row['news_topic']
));
}
$newsTemplate->pparse('body');
echo 'Temps d\'execution :'.($tempSql - $connection->microtime_float());
unset($connection);
}
public function AddNews($topic,$contenu,$user,$categ)
{
$connection = new Connection($this->table);
$arrayData=array('NULL','NOW()','NOW()',$topic,$contenu,$user,$categ);
if ($connection->execQueryAdd($arrayData))return true;
else return false;
}
public function __destruct(){}
}
?>
__________________________
[RRP4J]
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
Pour faire plus vite ( gné, pas évident à comprendre le sens de 'plus vite' ).
Je t'ai modifié ton script que tu m'as filé. Dit moi si ca marche.
<?php
class News
{
private $nbrNews = null;
private $connection;
public function __construct()
{
$this->nbrNews = 5;
$this->connection = new Connection('tbl_news');
}
public function DisplayNews()
{
$tempSql = $this->connection->microtime_float();
$newsTemplate = new Template("./");
$result = $this->connection->execQuerySelect(array('*'),' ');
$nbrNews = mysql_num_rows($result);
if ($nbrNews < $this->nbrNews) $page=1;
else $page= round($nbrNews/$this->nbrNews);
$newsTemplate->set_filenames( array('body' => './templates/news.tpl'));
while( $row = mysql_fetch_array($result) )
{
$newsTemplate->assign_block_vars('news', array(
'TOPIC' => $row['news_topic'],
'CONTENU' => $row['news_contenu'],
'DATE' => $row['news_date'],
'TIME' => $row['news_time'],
'USER' => $row['news_user']
));
}
// Affichage des données
$newsTemplate->pparse('body');
for ($i =1 ; $i <=$page ; $i++) echo $i.' ';
echo 'Temps d\'execution :'.($tempSql - $this->connection->microtime_float());
}
public function AdminNews()
{
$tempSql = $this->connection->microtime_float();
$result = $this->connection->execQuerySelect(array('*'),'where news_id=\'1\'');
$newsTemplate = new Template("./");
$newsTemplate->set_filenames( array('body' => './templates/adminnews.tpl'));
while( $row = mysql_fetch_array($result) )
{
$newsTemplate->assign_vars( array(
'TOPIC' => $row['news_topic']
));
}
$newsTemplate->pparse('body');
echo 'Temps d\'execution :'.($tempSql - $this->connection->microtime_float());
}
public function AddNews($topic,$contenu,$user,$categ)
{
$arrayData=array('NULL','NOW()','NOW()',$topic,$contenu,$user,$categ);
if ($this->connection->execQueryAdd($arrayData))return true;
else return false;
}
public function __destruct(){}
}
?>
Je pense que ca devrais tourner nickel. J'ai peut etre oublier de remplacer un $connection par $this->connection... Jete un petit coup avant
__________________________
A tous les membres, dite non à la (drogue...) sms-mania !
Avant de poster, vérifiez si la réponse n'est pas dans la FAQ ou un tutorial.
Je suis un peu vexé xD , en gros j'ai voulu faire trop confiance à mon editeur ( zend en l'occurence ) qui ne m'indique pas les méthodes accessibles une fois que j'utilise deux fois -> . Je pensais que c'était un problème de portée de variable ou un problème de syntaxe et au final c'est mon editeur :/
Merci beaucoup Alain ;)
__________________________
[RRP4J]
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
De rien !
Et c'est Lain ( du manga Serial Experiment Lain ( pas alain )
__________________________
A tous les membres, dite non à la (drogue...) sms-mania !
Avant de poster, vérifiez si la réponse n'est pas dans la FAQ ou un tutorial.
Oups , le pire c'est que je connais le manga xD . Petite faute de frappe du à l'empressement , toutes mes excuses
__________________________
[RRP4J]
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...