Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-03-2008 23:12:56

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

[Projet] Zend Framework Extended

Bonjour,

Voila je recréer un topic sur Zfe (Zend Framework Extended) pour vous tenir au courent sur ce projet.

Zfe c'est une extension du Zend Framework.

voila la liste des classes disponible :

Non tésté
Tésté

* Zfe_Captcha : Générateur de captcha
* Zfe_Curl
* Zfe_Podcast : Génére un fichier xml pour les podcasts compatible iTunes
* Zfe_Sitemap : Créer, modifier des plans sitemap
* Zfe_Timer : Ajouter ou enlever du temp au time unix en seconde, minute, heure, jour, mois, année.
* Zfe_Db_CouchDb : Classe pour communiquer avec un serveur CouchDB
* Zfe_Http_Upload : Uploader des fichiers sur le serveur via http
* Zfe_Image_Thumb : Génére des vignettes a la volé
* Zfe_Service_Yahoo : Cette classe est un clone de Zend_Service_Yahoo!!
* Zfe_Form_Spam : Anti-spam pour les formulaires
* Zfe_Service_Orange_Sms : Classe pour envoyer des sms via l'API (version Alpha) d'Orange
* Zfe_Service_Orange_Location : Orange Location est une API qui vous permet d'obtenir les coordonnées GPS des Téléphones mobiles
* Zfe_Service_Orange_Email : Classe pour envoyer des Email via l'API (version Alpha) d'Orange
* Zfe_Service_Orange_Click2call : La classe Click2call vous permet d'établir des appels téléphoniques entre deux numéros au sein de votre application Web.
* Zfe_System_Task : classe de gestion multi-processing sous unix
* Zfe_Service_Ms_Ajax
* Zfe_Socket_Client : Permet de communiqué par socket avec une IP ou un nom de domaine
* Zfe_Socket_Server : Permet de créer un serveur de socket

voila Zfe est en version bêta merci de me faire suivre les bugs
Documentation http://www.axel-etcheverry.com/wiki/ind … k_extended
SVN : http://svn.z-f.fr/projet/zfe/trunk/Zfe/
PHPS : http://www.axel-etcheverry.com/projects … ended/src/
Télécharger : http://www.axel-etcheverry.com/projects … tended.zip
Cordialement,
Poppy

Dernière modification par poppy (07-07-2008 18:34:40)


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#2 27-03-2008 07:35:57

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: [Projet] Zend Framework Extended

Ca à l'air interessant tout ça. Ce sont tes extensions persos ? Tu as une documentation expliquant quel est l'objectifs de chacune de ces classes ?

A bientôt

Hors ligne

 

#3 27-03-2008 08:10:18

or4cle
Membre
Date d'inscription: 18-02-2008
Messages: 70

Re: [Projet] Zend Framework Extended

Sympa tout çà
Je me permet une question sans doute bête mais pourquoi ne pas proposer tes classes au projet ZF et voir la communauté zend l'intégrer au Zend Core ?
C'est comme çà que le ZF s'améliore je crois

Hors ligne

 

#4 27-03-2008 08:43:43

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Projet] Zend Framework Extended

Salut Poppy,

Sympa ces classes. A mon avis ça serait bien d'ajouter juste un exemple d'utilisation simple en haut de chaque classe (en phpdoc) pour qu'on puisse utiliser ça plus simplement.

En tout cas merci !
A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 27-03-2008 13:09:20

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

Bonjour,

pour les exemple c'est pour bientôt.

le phpdoc aussi, voila mon blog http://www.axel-etcheverry.com/blog/ind … k-extended il y a des exemples

Cordialement,
Poppy

Dernière modification par poppy (27-03-2008 15:12:48)


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#6 06-04-2008 22:00:38

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

Bonsoir,

voila la documentation du Zfe http://www.axel-etcheverry.com/wiki/ind … k_extended

A+


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#7 07-04-2008 14:16:40

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Projet] Zend Framework Extended

Salut
une suggestion pour ZFE et autres dev
Supprimer le ?> en fin de chaque fichiers ce tag est inutile et de plus parfois gênant. ainsi lors de multiples transferts entres Unix et Windows il arrive qu'un ou plusieurs CRLF soient ajouté après ce tag de fermeture
Du coup lorsqu'on charge le fichier par un require ou include ces CRLF sont envoyés au client et de ce fait il devient impossible d'envoyer par la suite un header

c'est une préco de Zend facile à suivre et efficace.

l'essentiel de mon propos porte sur les Exceptions
je les définis ainsi

Code:

<?php
/**
 * Zend Framework Extended
 *
 * @category   Zend Framework Extended
 * @package    Zfe_Socket
 * @copyright  Copyright (c) 2007-2008 Axel ETCHEVERRY (http://axel.2ate.net) et Yann Nave
 * @license    http://www.gnu.org/licenses/lgpl-3.0.txt     LGPL License
 * @author Axel ETCHEVERRY
 * @link http://poppy31.free.fr
 * @email euskadi31[at]gmail[dot]com
 * @version 1.0
 */


/**
 * Zend_Exception
 */
require_once 'Zend/Exception.php';

class Zfe_Socket_Exception extends Zend_Exception
{
   const SOCKET_ERROR = 'socket error';
   const WRITE_ERROR = 'socket write error';
   const READ_ERROR = 'socket read error';
}

et les utilise ainsi

Code:

    # write some data on socket, is some error occures, throw an IOException
    public function write($data) {
        $this->isSocket();

        $status = fwrite($this->sock, $data, strlen($data));
        
        if($status == false) {
            throw new Zfe_Socket_Exception(Zfe_Socket_Exception::WRITE_ERROR);
        }
        return true;
    }

    # read a line on socket, is some error occures, throw an IOException
    public function readline() {
        if(!$this->isSocket());

        $data = fgets($this->sock);
        if($data === false) {
            throw new Zfe_Socket_Exception(Zfe_Socket_Exception::READ_ERROR);
        }
        return $data;
    }

    # read a line on socket, is some error occures, throw an IOException
    public function read($size = 8096) {
        $this->isSocket();

        if($size <= 0){
            $size = 8096;
        }
        
        $size = min(8096, $size);
        
        $data = fread($this->sock, $size);
        if($data === false){
            throw new Zfe_Socket_Exception(Zfe_Socket_Exception::READ_ERROR);
        }
        return $data;
    }

de cette façon les exception ne sont définit qu'à un seul endroit cela facilite leur manipulation
sur une exception on peut connaitre tous les messages défini par la classe d'exception avec

Code:

$class = new ReflectionClass(get_class($exception));
$consts = $class->getConstants();
$keys = array_keys($consts);

pour Socket_Client je propose les modifications suivantes
ajouter un argument à true par défaut au constructeur pour ouverture de la chaussette (en le mettant à false on diffère l'ouverture)
ajouter la méthode open (pour ouvrir la chaussette)
ajouter l'argument $throw à isSocket pour lever ou non une exception lorsqu'on n'a pas la chaussette
rendre la méthode isSocket publique


voici les modifs

Code:

<?php
/**
 * Zend Framework Extended
 *
 * @category   Zend Framework Extended
 * @package    Zfe_Socket
 * @copyright  Copyright (c) 2007-2008 Axel ETCHEVERRY (http://axel.2ate.net) et Yann Nave
 * @license    http://www.gnu.org/licenses/lgpl-3.0.txt     LGPL License
 * @author Axel ETCHEVERRY
 * @link http://poppy31.free.fr
 * @email euskadi31[at]gmail[dot]com
 * @version 1.0
 */


/**
 * Zend_Exception
 */
require_once 'Zend/Exception.php';

class Zfe_Socket_Exception extends Zend_Exception
{
   const SOCKET_ERROR = 'socket error: ';
   const WRITE_ERROR = 'socket write error';
   const READ_ERROR = 'socket read error';
}

Code:

<?php
/**
 * Zend Framework Extended
 *
 * @category   Zend Framework Extended
 * @package    Zfe_Socket_Client
 * @copyright  Copyright (c) 2007-2008 Axel ETCHEVERRY (http://axel.2ate.net) et Yann Nave
 * @license    http://www.gnu.org/licenses/lgpl-3.0.txt     LGPL License
 * @author Axel ETCHEVERRY
 * @link http://poppy31.free.fr
 * @email euskadi31[at]gmail[dot]com
 * @version 1.0
 */

require_once 'Zfe/Socket/Exception.php';

class Zfe_Socket_Client {
    
    protected $_sock = null;
    protected $_host = null;
    protected $_port = null;

    public function __construct($host, $port, $auto=true) {
        $this->_host = $host;
        $this->_port = $port;
        if ($auto) {
            $this->open()
        }
    }
    
    public function open() {
        if (!$this->isSocket(false)) {
            try {
                $this->_sock = fsockopen($this->_host, $this->_port, $errno, $errstr, 1);
            } catch (Exception $e) {
                if(!$this->_sock) {
                    throw new Zfe_Socket_Exception(Zfe_Socket_Exception::SOCKET_ERROR . $errstr . " (" . $errno .")");
                }
            }
        }
    }
    
    public function setBlocking($bool = true) {
        stream_set_blocking($this->_sock, $bool);
    }
    
    public function isSocket($throw = true) {
        if(!is_resource($this->_sock)){
            if ($throw) {
             throw new Zfe_Socket_Exception(Zfe_Socket_Exception::SOCKET_ERROR);
            } else {
                return false;
            }
        }
        return true;
    }

    # write some data on socket, is some error occures, throw an IOException
    public function write($data) {
        $this->isSocket();

        $status = fwrite($this->_sock, $data, strlen($data));
        
        if($status == false) {
            throw new Zfe_Socket_Exception(Zfe_Socket_Exception::WRITE_ERROR);
        }
        return true;
    }

    # read a line on socket, is some error occures, throw an IOException
    public function readline() {
        $this->isSocket();

        $data = fgets($this->_sock);
        if($data === false) {
            throw new Zfe_Socket_Exception(Zfe_Socket_Exception::READ_ERROR);
        }
        return $data;
    }

    # read a line on socket, is some error occures, throw an IOException
    public function read($size = 8096) {
        $this->isSocket();

        if($size <= 0){
            $size = 8096;
        }
        
        $size = min(8096, $size);
        
        $data = fread($this->_sock, $size);
        if($data === false){
            throw new Zfe_Socket_Exception(Zfe_Socket_Exception::READ_ERROR);
        }
        return $data;
    }

    # is it End Of File (eof) on socket.
    # throw exception on error : invalid socket, closed socket
    #
    public function eof() {
        $this->isSocket();
        return feof($this->_sock);
    }

    # should return an exception on error ?
    public function close() {
        if($this->_sock != null && is_resource($this->_sock)){
            return fclose($this->_sock);
            $this->_sock = null;
        }
        return false;
    }
    
    public function terminated() {
        if(!is_resource($this->_sock)){
            return true;
        }
        if($this->eof()) {
            return true;
        }
        return false;
    }
    
    public function getName($remote = true){
        if($this->_sock != null) {
            return stream_socket_get_name($this->_sock, $remote);
        }else{
            return false;
        }
    }
}

A+JYT

Dernière modification par sekaijin (07-04-2008 14:19:23)

Hors ligne

 

#8 07-04-2008 17:44:46

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

merci pour tes modifications,
je vais modifier sa des que je peux

a+


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#9 07-07-2008 16:09:24

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

Salut,

voila des nouvelle classes a été ajouter a ZFE

des classes pour les API Orange
Zfe_Service_Orange_*

a+


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#10 24-07-2008 15:17:04

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Projet] Zend Framework Extended

je suis intéressé par la classe Zfe_captcha,

mais je rencontre des difficultés à la faire marcher, est ce qu'il serait possible d'avoir un exemple ?

Hors ligne

 

#11 24-07-2008 15:19:52

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

salut bucheron,

oui bien sur je publie la nouvelle classe et je post l'exemple dans mon wiki
http://www.axel-etcheverry.com/wiki/ind … k_extended
Cordialement,
Poppy


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#12 24-07-2008 15:29:32

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

voila je vien de publier l'exemple http://www.axel-etcheverry.com/wiki/ind … fe_Captcha

Cordialement,
Poppy


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#13 24-07-2008 15:37:14

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Projet] Zend Framework Extended

merci je vais aller faire mes tests

Hors ligne

 

#14 24-07-2008 22:18:12

acharrex
Membre
Lieu: Suisse
Date d'inscription: 27-04-2008
Messages: 135

Re: [Projet] Zend Framework Extended

Juste une petite question... ton ZIP et le SVN ne contiennent pas les classes Zfe_Feed_Atom et Zfe_Feed_Rss. Est-ce normal ?

Dernière modification par acharrex (24-07-2008 22:19:23)

Hors ligne

 

#15 25-07-2008 10:52:46

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

salut acharrex,

oui je fini des tests et je mets a jour,

le zip n'est pas du tout a jour pas beaucoup de temps pour bosser dessus sad
Cordialement,
Poppy


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#16 25-07-2008 11:15:00

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Projet] Zend Framework Extended

bonjour je suis trés intéressé par la classe Zfe_Service_Orange_Click2call mais j'aimerai avoir plus de détail la communication entre les deux numéro est facturé a qui ? et ou doit ton aller pour avoir un acces_key ?

merci


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#17 25-07-2008 11:20:48

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Projet] Zend Framework Extended

Salut Poppy,

Si tu veux générer rapidement un zip, tu devrais regarder du coté de phing.

Je t'envoie un fichier build.xml (utilisé par phing) qui génère un zip à partir d'une copie locale SVN.

Code:

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="myProject" default="dist" basedir=".">
    <target name="prepare">
        <echo msg="Making directory ./build" />
        <mkdir dir="./build" />
    </target>

    <target name="build" depends="prepare">
        <echo msg="No build needed for the moment" />
    </target>

    <target name="dist" depends="build">
        <echo msg="Creating archive..." />
        <tar destfile="./build/myProject.tar.gz" compression="gzip">
            <fileset dir="./app">
                <exclude name="**/.svn/**" />
                <exclude name="upload/**" />
                <exclude name="temp/**" />
                <exclude name="conf/systemConstants.php" />
                <include name="**" />
            </fileset>
        </tar>

        <echo msg="Files copied and compressed in build directory OK!" />
    </target>
</project>

Après tu peux l'améliorer pour qu'il transfère automatiquement le zip créé sur un ftp.
Ca permet de générer super vite une archive à partir de ta copie locale.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#18 25-07-2008 11:26:28

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

Merci bcp philippe wink


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#19 07-08-2008 14:25:02

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Projet] Zend Framework Extended

J'ai remarqué un problème avec l'encodage de certaine classe qui sont en UTF-8. Quand j'instencie la classe Zfe_Http_Upload j'ai ces caractères qui apparaissent : "".

Pour corriger ça, il faut encoder le document php en ANSI. a+

PS: très utile ce projet, merci à ceux qui y contribuent

Hors ligne

 

#20 07-08-2008 14:35:33

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Projet] Zend Framework Extended

Pour les histories de "", le fichier doit être en UTF-8 SANS BOM (le bom je sais pas ce que c'est mais c'est ça qui fou la merdouse avec un entête plus long)
Eclipse n'utilise pas le Bom il me semble, et avec une éditeur comme Notepad++ ça se règle.

Hors ligne

 

#21 07-08-2008 16:46:45

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

merci Moox,
De rien Roulio


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#22 07-08-2008 18:46:21

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Projet] Zend Framework Extended

or4cle a écrit:

Sympa tout çà
Je me permet une question sans doute bête mais pourquoi ne pas proposer tes classes au projet ZF et voir la communauté zend l'intégrer au Zend Core ?
C'est comme çà que le ZF s'améliore je crois

Je fais écho à cette question...
Pourquoi ?

Hors ligne

 

#23 08-08-2008 01:40:08

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Projet] Zend Framework Extended

Salut,
Surment un jours, pour proposer les classes a zf il faut accepter la licence zend framework, est la licence de zfe est LGPL.

Cordialement,
Poppy


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#24 03-12-2010 19:27:47

wazaiodd
Nouveau membre
Date d'inscription: 08-01-2009
Messages: 4

Re: [Projet] Zend Framework Extended

Bonjour poppy,

Je m'intéresse à la classe Zfe_Captcha, mais le wiki que tu as posté n'est plus disponible. En as-tu fait un autre ?

Sinon aurais tu un exemple d'utilisation ?

Merci.

Cordialement.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages