[script] [clearbricks] une autre approche que le framework

WRInaute discret
Bonjour,

ce message pour vous présenter ce site http://clearbricks.org par le créateur de DotClear.
La page d'accueil du site (l'unique page) est explicite: clearbricks désigne un ensemble de classes php bien pratiques pour la réalisation d'une application web.

Pour beaucoup de raisons, j'ai du mal à me lancer dans l'utilisation intensive d'un framework. Clearbricks est alors une solution super pratique. J'utilise les éléments qui m'intéressent et je créé ceux qui me manquent.
Les classes existantes sont admirablement bien écrites (cf le travail exemplaire réalisé sur DotClear2)

Un seul point négatif, il n'y a pas de documentation. Je ne suis pas un expert de la programmation objet et je tente malgré tout de comprendre comment utiliser ces classes au mieux.

Je tente de rassembler dans ce message des utilisations très simples de clearbricks. Je compte sur votre aide et votre expertise pour améliorer ce semblant de manuel au fur et à mesure. Merci beaucoup par avance, et ne manquez pas de jeter un coup d'oeil sur le site, c'est vraiment une approche très intelligente.

1 Généralités
1.1 Vérifier une adresse e-mail
Objectif: vérifier la validité d'une adresse e-mail
Code:
<?php

        require dirname(__FILE__).'/clearbricks/common/_main.php';

        if (text::isEmail('usere@xample.com'))
                echo 'Yes' ;
        else
                echo 'No' ;

?>
2 Bases de données
2.1 Connexion et requête SQL
Objectif: établir une connexion avec une base de données, exécuter une requête SQL de type SELECT puis afficher les résultats de la requête (merci à Hiro)
Code:
<?php
        // définition des variable de connexion à la base de données
        define ('DB_HOST', 'myHost') ;
        define ('DB_USER', 'myUser') ;
        define ('DB_PASSWORD', 'myPassword') ;
        define ('DB_NAME', 'myDb') ;

        // le fichier standard de clearbricks
        require dirname(__FILE__).'/clearbricks/common/_main.php';

        // connexion
        $con = dblayer::init('mysql', DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);

        $sql = 'SELECT * FROM myTable;' ;

        // réalisation de la requête
        $rs = $con->select($sql) ;
   
        // fermeture de la connexion car le résultat de la requête est maintenant stocké dans $rs (objet de type "record"
        $con->close() ;
        
        // affichage des résultats
        while( $rs->fetch())
            echo $rs->nom_du_champ;
?>
3 RSS
3.1 Lecture d'un flux
Objectif: récupérer un flux RSS et afficher son contenu
Code:
<?php

        require dirname(__FILE__).'/clearbricks/common/_main.php';

        $url = 'Adresse du flux RSS' ;
        $feed = new feedReader ;
        $feed->parse($url) ;
	
        if (!$feed)
            exit();    // echec de la lecture du flux
	
        $rss = new feedParser($feed->getContent()) ;
		
        if (!is_array($rss->items))
            exit();    // le flux ne contient aucun élément

        echo '<ul>' ;
        foreach ($items as $item)
        {
            echo '<li><a href="'.$item->link.'">'.$item->title.'</a></li>' ;
        }
        echo '</ul>' ;
?>
4 Templates
4.1 Template sans variables
Objectif: afficher le contenu d'un template ne contenant pas de variables
Code:
<?php

        require dirname(__FILE__).'/clearbricks/common/_main.php';
        
        // ?

?>

06/05/07: ajout du script d'affichage d'un flux RSS
04/05/07: màj du script de connexion à la base de données
 
Nouveau WRInaute
J'arrive surement tard mais si tu as besoin d'aide pas de soucis j'utilise cette "boite à outils" depuis un petit moment maintenant .

par exemple

Code:
<?php
        define ('DB_HOST', 'myHost') ;
        define ('DB_USER', 'myUser') ;
        define ('DB_PASSWORD', 'myPassword') ;
        define ('DB_NAME', 'myDb') ;

        require dirname(__FILE__).'/clearbricks/common/_main.php';
        $__autoload['dblayer']   = dirname(__FILE__).'/clearbricks/dblayer/dblayer.php';

        $con = dblayer::init('mysql', DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);

        $sql = 'SELECT * FROM myTable WHERE id=\'1\';' ;

        $rs = $con->select($sql) ;
   
        // AFFICHAGE 
        while( $rs->fetch() ) 
        {
            $var = $rs->nom_du_champ;
        }

        $con->close() ;
?>


A noter que cela ne fonctionne que en PHP5 !

Ici la variable $rs est un objet, une instance de la classe records
c'est un record set qui contient toute les données issue de la requete .
On peut donc tres bien fermé la connection vider les resultats de celle ci on a toujours nos données dans l'objet $rs
 
WRInaute discret
@hiro: je te remercie. J'ai mis à jour le premier message pour prendre en compte ta proposition.

Il n'est jamais trop tard pour proposer de nouveaux morceaux de code: utilisation des templates, etc...

J'utilise de mon côté d'autres éléments de clearbricks: feedReader et feedParser. Je vais rapidement faire une mise à jour de ce post pour les ajouter.

Merci de ton aide et n'hésite pas à contribuer en ajoutant d'autres scripts.
 
Discussions similaires
Haut