2010-12-08 11 views
1

Un de mes amis essaie de supprimer des espaces et des commentaires d'une application entière. Je pense que son intention est que personne ne peut vraiment jouer avec le code. Lui-même, aura la copie «brute».Supprimer les espaces de php sourcecode

Existe-t-il un moyen de supprimer des espaces et des commentaires d'une application entière avec des dossiers et des fichiers * .php et * .html.

J'ai lu cette question, mais il dit à propos minifying pour un fichier: php source code whitespace

+2

S'il y a un outil qui supprime les espaces il y a certainement aussi un outil qui ajoute des espaces (à savoir: le code beautifier). Donc, cela ne vous aidera pas beaucoup. – Gumbo

+0

@Gumbo Au moins les commentaires sont perdus. –

+1

Si vous voulez obscurcir le code, vous devriez utiliser un obfuscater réel qui remplace les identifiants et d'autres choses. – Gumbo

Répondre

3

Cela devrait vous orienter dans la bonne direction:

http://php.net/manual/en/function.php-strip-whitespace.php

+0

Je pourrais traverser toute l'application. :( –

+1

@Thorpe Crée un petit script PHP qui scanne un répertoire de manière récursive, c'est facile.Vous pouvez utiliser [scandir] (http://www.php.net/manual/fr/function.scandir.php) –

+0

Yep. Je viens de dire que :) –

3
php -w file_source.php > file_result.php 

devrait travailler avec html trop .

+0

+1 mais j'avais besoin de quelque chose pour des applications entières. –

0

Ceci est une vieille question, mais les réponses ici n'étaient pas exactement ce dont j'avais besoin, mais m'a indiqué dans la bonne direction. Nous voulions minimiser le code PHP principalement pour rendre plus difficile pour les gens qui ne savent vraiment pas ce qu'ils font de jouer avec le code. Ce n'est pas infaillible par tous les moyens, et n'empêchera pas les gens qui savent ce qu'ils font d'arracher votre code. Quoi qu'il en soit, nous voulions pouvoir l'exécuter en tant qu'option à partir de notre processus de construction basé sur bash et perl. Cette commande trouvera tous les fichiers php et dépouiller les espaces et les commentaires en utilisant php -w:

find . -name '*.php' -type f -exec sh -c 'php -w "${0%.*}.php" > "${0%.*}.cphp"; 
rm "${0%.*}.php"; mv "${0%.*}.cphp" "${0%.*}.php"' {} \; 

de saut de ligne pour plus de clarté, cela devrait être inscrit sur une ligne.

Je ne suis pas un expert du shell, donc cela peut nécessiter un nettoyage, mais nous l'utilisons et cela fonctionne. Nous l'utilisons seulement après que le code a été mis en scène sur le serveur, jamais sur la source de développement réelle.

Notez également que depuis sa découverte, toutes sortes d'options de filtrage sont disponibles, ainsi que la définition de -maxdepth pour l'empêcher d'agir sur des sous-dossiers. Essentiellement, il suffit d'utiliser la commande find et d'exécuter un shell qui réduit le php à un nouveau fichier, supprime le fichier d'origine et renomme le nouveau fichier au nom d'origine.

Encore une fois, ceci ne devrait être utilisé qu'une fois que le code a été déployé sur un serveur de test ou en production, jamais sur votre code de développement actif.

Nous faisons aussi quelque chose de similaire pour les fichiers CSS et js ...

Questions connexes