Mammouth du PHP |
531 Messages
29 avr. 2009, 17:33
Rien à faire
Je n'ai aucune erreur mais toutes mes valeurs sont vides sauf celle qui ne proviennent pas de la classe parent évidement :
object(rss)#3 (9) { ["fichierXml:private"]=> string(15) "rss-article.xml" ["header:private"]=> NULL ["footer:private"]=> NULL ["chanelTitre:private"]=> string(12) " - articles " ["chanelUrl:private"]=> NULL ["chanelDescription:private"]=> NULL ["version:private"]=> NULL ["param:private"]=> NULL ["configFile:private"]=> NULL }
EDIT :
Class moteur :
class moteur{
private $version;
private $param; // tableau config
private $configFile;
public function __construct(){
}
public function vroum(){
$this->version = '1.0.2(a)';
$this->configFile = 'core/config.xml';
$this->creerFichierConfig();
$this->updateFichierConfig();
global $config;
$this->param = $config;
$this->prechauffage();
}
public function getParam($cle){
return $this->param[$cle];
}
public function getConfigFile(){
return $this->configFile;
}
public function getVersion(){
return $this->version;
}
private function prechauffage(){
foreach(simplexml_load_file($this->configFile)->item as $item){
$cle = strval($item->k);
$valeur = strval($item->v);
$this->param[$cle] = $valeur;
}
}
private function updateFichierConfig(){
$config = simplexml_load_file($this->configFile);
$version = ($config->item[0]->v);
// Ecrit le fichier si version différente
if($version != $this->version){
$this->creerFichierConfig();
}
}
private function creerFichierConfig(){
// Ecrit le fichier si existe pas
if(!file_exists($this->configFile)){
$output = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<config>
<item>
<l>Version</l>
<k>version99ko</k>
<v>".$this->version."</v>
<i></i>
</item>
<item>
<l>URL du blog</l>
<k>blogUrl</k>
<v></v>
<i>( Pas de slash à la fin. Exemple : http://www.monsite.com )</i>
</item>
<item>
<l>Nom du blog</l>
<k>blogNom</k>
<v>Nom du blog</v>
<i></i>
</item>
<item>
<l>Description du blog</l>
<k>blogDescription</k>
<v></v>
<i></i>
</item>
<item>
<l>Baseline</l>
<k>blogBaseline</k>
<v>Un blog motorisé par 99ko.</v>
<i></i>
</item>
<item>
<l>Balise meta title</l>
<k>metaTitle</k>
<v></v>
<i></i>
</item>
<item>
<l>Balise meta description</l>
<k>metaDescription</k>
<v></v>
<i></i>
</item>
<item>
<l>Validation des commentaire</l>
<k>commentaireValidation</k>
<v>1</v>
<i>( 1 = oui, 0 = non )</i>
</item>
<item>
<l>Nombre d'articles par page</l>
<k>nbArticleParPage</k>
<v>10</v>
<i></i>
</item>
<item>
<l>Flux RSS des articles</l>
<k>rssArticle</k>
<v>1</v>
<i>( 1 = oui, 0 = non )</i>
</item>
<item>
<l>Nombre d'item flux RSS des articles</l>
<k>nbItemRssArticle</k>
<v>10</v>
<i></i>
</item>
<item>
<l>Editeur HTML</l>
<k>editeurHtml</k>
<v>1</v>
<i>( 1 = oui, 0 = non )</i>
</item>
<item>
<l>Thème</l>
<k>theme</k>
<v>classic</v>
<i></i>
</item>
</config>";
$fp = fopen($this->configFile, 'w+');
fputs($fp, $output);
}
}
}
class rss :
class rss extends moteur{
private $fichierXml;
private $header;
private $footer;
private $chanelTitre;
private $chanelUrl;
private $chanelDescription;
public function __construct($typeDonnee){
parent::__construct();
if($typeDonnee == 'article'){
$this->fichierXml = 'rss-'.$typeDonnee.'.xml';
$this->chanelTitre = parent::getParam('blogNom').' - articles ';
$this->chanelUrl = parent::getParam('blogUrl');
$this->chanelDescription = parent::getParam('blogDescription'); // ne marche pas on dirait...
}
}
public function getFichierXml(){
return $this->fichierXml;
}
public function getChanelTitre(){
return $this->chanelTitre;
}
private function setHeader(){
$xml = '<?xml version="1.0" encoding="utf-8"?><rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>'.$this->chanelTitre.'</title>';
$xml .= '<link>'.$this->chanelUrl.'</link>';
$xml .= '<description>'.$this->chanelDescription.'</description>';
$this->header = $xml;
}
private function setFooter(){
$xml = '</channel>';
$xml .= '</rss>';
$this->footer = $xml;
}
public function genererFluxArticle(){
$this->setHeader();
$listeArticle = article::creerListe('all', 0, parent::getParam('nbItemRssArticle'), 1);// var_dump($listeArticle);
$xml = null;
foreach($listeArticle as $article){
//$date2=date("D, d M Y H:i:s", strtotime($date));
$xml .= '<item>';
$xml .= '<title>'.$article->getTitre().'</title>';
$xml .= '<link>'.parent::getParam('blogUrl').'/index.php?p=article-lire&article='.$article->getTitreForUrl().'&idArticle='.$article->getId().'</link>';
$xml .= '<pubDate>'.$article->getDate().' GMT</pubDate>';
$xml .= '<description>'.$article->getChapo().'</description>';
$xml .= '</item>';
}
$this->setFooter();
$output = $this->header.$xml.$this->footer;
// écriture dans le fichier
$fp = fopen($this->fichierXml, 'w+');
fputs($fp, $output);
fclose($fp);
//exit();
}
}
Et dans mon index :
$moteur = new moteur();
$moteur->vroum();
// rss
if($moteur->getParam('rssArticle') == true){
$rss = new rss('article');
}
var_dump($rss);
Résultat du var_dump :
Code : Tout sélectionner
object(rss)#3 (9) { ["fichierXml:private"]=> string(15) "rss-article.xml" ["header:private"]=> NULL ["footer:private"]=> NULL ["chanelTitre:private"]=> string(12) " - articles " ["chanelUrl:private"]=> NULL ["chanelDescription:private"]=> NULL ["version:private"]=> NULL ["param:private"]=> NULL ["configFile:private"]=> NULL }
Je suis un poil ( enfin un gris poil ) largué...