IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez / Téléchargez Sources et Outils PHP Discussion :

[Blog] PhpEcho : v.2.0.0


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 6 142
    Points : 16 537
    Points
    16 537
    Billets dans le blog
    12
    Par défaut [Blog] PhpEcho : v.2.0.0
    Bonjour,

    j'ai le plaisir de vous annoncer une mise à jour importante du moteur de rendu PHP en une seule classe : PhpEcho.
    Dans la version 2.0.0 il vous est dorénavant possible de créer et d'utiliser vos propres bouts de code afin de personnaliser totalement la génération de code HTML/CSS/JS...

    Les explications et exemples sont présents sur une nouvelle page de blog : PhpEcho Version 2.0.0 qui vient en complément de la première : PhpEcho : moteur de rendu PHP ⇒ une classe pour les gouverner tous.

    Bon code à tous

    rawsrc

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 6 142
    Points : 16 537
    Points
    16 537
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    j'ai procédé à une optimisation du code de la classe qui lors d'une montée de charge pouvait perdre beaucoup de cycles d'horloge à répéter un code redondant.
    Redondance supprimée par la mise à jour.

    @++

    rawsrc

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 6 142
    Points : 16 537
    Points
    16 537
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    dans le cadre de l'amélioration continue de PhpEcho, j'ai ajouté la possibilité d'avoir à disposition la liste des helpers directement dans votre IDE.
    Quand vous arrivez à un certain nombre de helpers, il est très pratique de pouvoir les avoir à disposition directement dans votre environnement de développement en ne se servant que de la fonctionnalité d'autocompletion de tout bon IDE qui se respecte.

    Donc, pour activer cette fonctionnalité, vous devez juste ajouter une ligne de commentaires au début de chaque fichier vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php /** @var $this PhpEcho */ ?>
    et la magie opère, toutes vos fonctions personnelles sont à disposition généralement sur un simple appui de <?= $this->[CTRL+ESPACE] ?>.

    De ce fait découle une nouvelle fonctionnalité fort intéressante : la possibilité d'appeler vos helpers comme des fonctions.
    Ces codes sont maintenant équivalents :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?= $this('$hsc', 'une valeur à échapper') ?>
    <?= $this->hsc('une valeur à échapper') ?>
    sauf que votre IDE vous a aidé pour la deuxième ligne

    Pour indiquer à votre IDE qu'il y a des fonctions dynamiques à lister, il faut lui ajouter en commentaire de classe ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     * @method mixed  raw($p)         Return the raw value from a PhpEcho block
     * @method mixed  hsc($p)         Escape the value in parameter (scalar, array, stringifyable)
     * @method bool   isScalar($p)
     * @method string selected($p, $ref)    Return " selected " if $p == $ref
     * @method string checked($p, $ref)     Return " checked "  if $p == $ref
    Vous retrouverez ce bloc dans les commentaires juste au-dessus de la classe PhpEcho.

    Enfin, presque rien ne change dans la création de vos helpers. J'ai juste ajouté un alias pour le helper $is_scalar qui est aussi accessible via isScalar() pour respecter les standard de nommage des fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $helpers['$is_scalar'] = [$is_scalar, HELPER_RETURN_ESCAPED_DATA];
    $helpers['isScalar']   = $helpers['$is_scalar']; // alias for method call
    donc cet helper est accessible de deux manières différentes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $this->is_scalar('une valeur');
    $this->isScalar('une valeur');
    Cet ajout de fonctionnalité ne rompt pas la compatibilité ascendante avec la version précédente et vient juste en complément.

    C'est suite à une demande de la part d'utilisateurs qui après avoir codé plusieurs dizaine de helpers m'ont demandé si l'IDE ne pouvait pas leur venir en aide

    Bon code à tous

    rawsrc

    PS : voici le code de mon exemple du billet utilisant cette fonctionnalité (LoginForm.php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php /** @var $this PhpEcho */ ?>
    <p>Veuillez vous identifier</p>
    <form method=post action="<?= $this['url_submit'] ?>>">
        <label>Identifiant</label>
        <input type="text" name="login" value="<?= $this['login'] ?>"><br>
        <label>Mot de passe</label>
        <input type="password" name="pwd" value=""><br>
        <input type="submit" name="submit" value="SE CONNECTER">
        <?= $this->hsc('tara""tata') ?>
        <?php foreach ($this['data'] as $k => $v) { ?>
        <p><?= $v ?>></p>
        <?php } ?>
    </form>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Blog : PhpEcho - Moteur PHP de rendu en une seule classe
    Par rawsrc dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 50
    Dernier message: 18/03/2020, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo