Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 381
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 381
    Points : 7 712
    Points
    7 712

    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

    # Dans la Création, tout est permis mais tout n'est pas utile...

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    1 633
    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 633
    Points : 1 905
    Points
    1 905

    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.
    Soyez moderne: mysqli_connect() or throw Exception(mysqli_connect_error());

    PHP: un problème ? décrivez le avec ceci.

    Utilisez le bouton résolu!

  3. #3
    Modérateur

    Inscrit en
    septembre 2010
    Messages
    7 957
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 7 957
    Points : 9 498
    Points
    9 498

    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 381
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 381
    Points : 7 712
    Points
    7 712

    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).
    # Dans la Création, tout est permis mais tout n'est pas utile...

  5. #5
    Modérateur

    Inscrit en
    septembre 2010
    Messages
    7 957
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 7 957
    Points : 9 498
    Points
    9 498

    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 :
    1
    2
    3
    $file = fopen($outputFile, 'w'); 
    fwrite($file, $code); 
    fclose($file);
    juste file_get_contents

  6. #6
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 381
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 381
    Points : 7 712
    Points
    7 712

    Par défaut

    Citation Envoyé par stealth35 Voir le message
    juste file_get_contents
    Tu veux dire file_put_contents.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro Olivier
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 010
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 010
    Points : 6 746
    Points
    6 746

    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.

  8. #8
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 381
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 381
    Points : 7 712
    Points
    7 712

    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é
    # Dans la Création, tout est permis mais tout n'est pas utile...

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro Olivier
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 010
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 010
    Points : 6 746
    Points
    6 746

    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.

  10. #10
    Rédacteur/Modérateur
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    décembre 2006
    Messages
    2 353
    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 353
    Points : 4 363
    Points
    4 363

    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 381
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 381
    Points : 7 712
    Points
    7 712

    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.
    # Dans la Création, tout est permis mais tout n'est pas utile...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •