My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

Introduction

Né 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

  • PHP >= 5.2
  • Mysql >= 5

Poste développeur sous windows

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();
	}
}
?>
Powered by Google Project Hosting