2010-12-08 173 views
1

我的一位朋友正試圖從整個應用程序中刪除空白和註釋。我認爲他的意圖是,沒有人真的可以搞砸這些代碼。他本人會對這個「原始」副本進行粗暴的評論。刪除php源代碼中的空格

有沒有辦法從整個應用程序文件夾和* .PHP和* .html文件刪除空白和註釋。

我讀過這個問題,但它說,關於涅槃的文件:php source code whitespace

+2

如果有一個工具,可以刪除空白有一定也是一個工具,增加了空白(即:代碼美化)。所以這對你沒有多大幫助。 – Gumbo 2010-12-08 14:23:56

+0

@Gumbo至少評論已丟失。 – 2010-12-08 14:24:36

+1

如果你想混淆代碼,你應該使用真正的混淆器來代替標識符和其他東西。 – Gumbo 2010-12-08 14:27:14

回答

3
php -w file_source.php > file_result.php 

應與HTML工作太。

0

這是一個老問題,但這裏的答案是我需要的不完全是,但我指出了正確的方向。我們想要縮小PHP代碼的主要目的是爲了讓那些真的不知道自己在幹什麼篡改代碼的人變得更加困難。這不是萬無一失,並且不會阻止那些知道自己在做什麼而不會去掉代碼的人。無論如何,我們希望能夠將它作爲基於bash和perl的構建過程中的一個選項運行。該命令會發現所有的PHP文件並去掉空格和使用PHP -w評論:

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

換行符添加爲清楚起見,本應在一行上輸入。

我不是一個shell專家,所以這可能需要一些清理,但我們把它和它的作品。我們只在代碼在服務器上執行後才使用它,而不是在實際的開發源代碼中。

還要注意,由於它的發現,所有類型的過濾可供選擇,以及設置-maxdepth從作用於子文件夾限制它。

本質上,它只是使用find命令和執行該minifies的PHP到新文件的外殼,刪除原始文件並重新命名新文件到原來的名稱。

同樣,這應僅使用一次的代碼已被部署到測試服務器或生產,切勿對積極開發代碼中使用。

我們也做了CSS和JS文件類似的東西...