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

Langage PHP Discussion :

Minifier (compresser) du code PHP 5.3+


Sujet :

Langage 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 : 47
    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 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut Minifier (compresser) du code PHP 5.3+
    Bonjour à tous,

    J'ai le plaisir de vous annoncer qua j'ai publié sur mon blog DVP le code source d'une classe qui minifie (compresse) le code source d'une ou plusieures classes PHP 5.3+.
    Le procédé de minification consiste en un retrait tous les commentaires ainsi que de la mise en forme du code source. Ne reste plus que ce qui est strictement nécessaire sans altérer le fonctionnement du code.

    Voir ici


  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    tu gères les traits?
    C'est quoi l’intérêt ?
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    la même chose en plus simple :
    http://www.developpez.net/forums/d11...p/#post6117247

    ps : y'a quoi de PHP 5.3 la dedans ?

  4. #4
    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 : 47
    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 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par gene69 Voir le message
    tu gères les traits?
    C'est quoi l’intérêt ?
    Je ne gère pas les traits.
    L'intérêt c'est de rassembler en un seul fichier les classes de base d'un framework, ou d'une branche du framework, tout en aidant le parseur PHP à réduire l'empreinte mémoire du tableau des tokens et surtout améliorer la vitesse de chargement des différentes classes. N'ayant pas accès à un cache d'opcode, on fait comme on peut.

    Citation Envoyé par stealth35 Voir le message
    la même chose en plus simple :
    http://www.developpez.net/forums/d11...p/#post6117247

    ps : y'a quoi de PHP 5.3 la dedans ?
    Ton code ne produit pas exactement la même chose.
    La touche PHP 5.3 correspond au token T_NS_SEPARATOR (Namespace separator).

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Ton code ne produit pas exactement la même chose.
    tu peux prendre la partie pour minifier les noms de variable

    EDIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $file = fopen($outputFile, 'w'); 
    fwrite($file, $code); 
    fclose($file);
    juste file_get_contents

  6. #6
    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 : 47
    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 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    juste file_get_contents
    Tu veux dire file_put_contents.

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    L'intérêt c'est de rassembler en un seul fichier les classes de base d'un framework
    Pourquoi ne pas ajouter le support des archives phar dans ce cas ?

    J'avoue également être assez dubitatif quant à l'intérêt du script. A la limite tout regrouper dans un fichier si c'est nécessaire pour toi , pourquoi pas, mais minifier du code php , je suis pas certains que ça serve à quoi que ce soit.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    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 : 47
    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 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Bon, pour ceux qui sont dubitatifs, j'ai mené plusieurs tests de performances sur des inclusions de branches entières d'un framework : en moyenne le gain sur un seul include est de l'ordre de 17,9% et le gain sur un jeu d'include (15 fichiers) est de 300%.
    Je ne dis pas qu'il faille tout minifier mais le gain en terme de chargement n'est pas si négligeable que ça.

    Enfin, pour ceux que ça défrise, faites comme si cette source n'avait jamais existé

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Le fait de tout mettre dans un fichier , forcément te fais gagner en performance puisque tu supprimes des includes (quoi qu'avec un autoloader bien ficelé tu devrais déjà limiter les includes de façon intéressante).

    Ce que je ne saisie pas c'est pourquoi minifier ?

    Pense un jeter un oeil aux archives phar. Si tu as du code à distribuer c'est vraiment intéressant. Je sais pas ce que ca vaut coté perf par contre.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Bonjour à tous,

    J'ai le plaisir de vous annoncer qua j'ai publié sur mon blog DVP le code source d'une classe qui minifie (compresse) le code source d'une ou plusieures classes PHP 5.3+.
    Le procédé de minification consiste en un retrait tous les commentaires ainsi que de la mise en forme du code source. Ne reste plus que ce qui est strictement nécessaire sans altérer le fonctionnement du code.

    Voir ici

    je ne l'ai pas encore tester (faute de temps) mais il me semble bien intéressant !
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  11. #11
    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 : 47
    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 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    J'ai procédé à l'instant au changement de licence du code source de la classe de minification PHP.
    La nouvelle licence est LGPLv3 (GNU Lesser General Public Licence version 3) en lieu et place de la GNU GPL précédente.

Discussions similaires

  1. Transcrire code PHP dans une DLL
    Par LEK dans le forum C++
    Réponses: 16
    Dernier message: 26/09/2005, 15h17
  2. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 13h55
  3. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 11h58
  4. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 12h23

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