|
Project Information
Links
|
IntroductionNé en 2008, puZZle project, vise à aider à la réalisation de projets php. Entre un framework et cms, il se veut simple d'utilisation. Pour plus de détail, voir sur http://mosquit.net (rubrique : puZZle project) Configuration requise
Quelques exemples ?L'exemple suivant permet de réaliser un éditeur d'article pour blog : <?php
class Zlog_writeArticle extends Bout {
public function build() {
/*
On informe des champs qui nous intéresse
Ici le titre de l'article et son nom
*/
$this->getIO()->need('name');
$this->getIO()->need('body');
// On active la prévisualisation
$this->getIO()->enablePreviewButton();
// Si c'est une prévisualisation alors on affiche le résultat
if($this->getIO()->isPreview()) {
$return = '
<div class=IOFormView>
'.$this->getIO()->get('body')->out().'
</div>';
}
else
$return = '';
// Affichage du formulaire
return $return.$this->getIO()->getForm();
}
//Rend l'objet dynamique
public function buildStatic() {}
}
?>Cela nous donne la page suivante :
Avec ce simple code, on créé un formulaire qui se charge à la fois d'enregistrer les données dans une base de données et de vérifier les entrés utilisateur :) Cette autre exemple permet d'afficher les articles d'une pages : <?php
class Zlog_readCategory extends Bout {
public function build() {
//On récupère le nombre d'article à afficher
$this->getIO()->need('nbArticle');
//On récupère l'ordre dans lequel on doit les afficher
$this->getIO()->need('order');
//On definni le nombre d'article par page
$this->getIO()->setNbChildrenPerPage($this->getIO()->get('nbArticle')->out());
//On inverse l'ordre des article si 'order' == true
if($this->getIO()->get('order')->out() == '1')
$this->getIO()->reverseChildrenOrder();
$return = '';
//On parcours les n enfants de type 'article' (depuis le n * numéro de page+1)
foreach($this->getIO()->getChildren('article') as $article) {
//On veux le titre, l'auteur, la date de création, et le corps de l'article
$article->need('name');
$article->need('user');
$article->need('dateC');
$article->need('body');
//On génère la structure de l'article
$return .= '
<div class="article">
<h2 class="titre"><a href="'.getChildUrl($article->get('id')->out()).'">'.$article->get('name')->out().'</a></h2>
<div class="author">Par '.$article->get('user')->getNickname().'</div>
<div class="date">le '.$article->get('dateC')->format('d/m/Y').'</div>
<div class="body">
'.$article->get('body')->out().'
</div>
</div>';
}
//On affiche les articles
return $return.$this->getIO()->getListPage();
}
}
?>
|