Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc. pour PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/09/2011, 19h40   #1
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 147
Points : 6 147
Envoyer un message via Skype™ à rawsrc
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...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 20h02   #2
gene69
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 1 626
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 626
Points : 1 992
Points : 1 992
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!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 20h25   #3
stealth35
Modérateur
 
Inscription : septembre 2010
Messages : 7 958
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 958
Points : 9 508
Points : 9 508
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 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 21h11   #4
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 147
Points : 6 147
Envoyer un message via Skype™ à rawsrc
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...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 21h17   #5
stealth35
Modérateur
 
Inscription : septembre 2010
Messages : 7 958
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 958
Points : 9 508
Points : 9 508
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 21h31   #6
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 147
Points : 6 147
Envoyer un message via Skype™ à rawsrc
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...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 08h50   #7
grunk
Modérateur
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 2 499
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 28
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 2 499
Points : 5 209
Points : 5 209
Citation:
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.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 10h37   #8
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 147
Points : 6 147
Envoyer un message via Skype™ à rawsrc
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...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 11h10   #9
grunk
Modérateur
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 2 499
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 28
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 2 499
Points : 5 209
Points : 5 209
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.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 15h24   #10
Thes32
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur PHP, .Net, T-SQL
Inscription : décembre 2006
Messages : 2 354
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 354
Points : 4 628
Points : 4 628
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h56   #11
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 147
Points : 6 147
Envoyer un message via Skype™ à rawsrc
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...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h13.


 
 
 
 
Partenaires

Hébergement Web