Удалить пробелы из исходного кода php - PullRequest
1 голос
/ 08 декабря 2010

Мой друг пытается удалить пробелы и комментарии из всего приложения. Я думаю, что его намерение состоит в том, чтобы никто не мог по-настоящему возиться с кодом. Он сам оставит «сырую» копию.

Есть ли способ удалить пробел и комментарии из целого приложения с папками и файлами * .php и * .html.

Я прочитал этот вопрос, но он говорит о минимизации для файла: Пробел исходного кода php

Ответы [ 3 ]

3 голосов
/ 08 декабря 2010
php -w file_source.php > file_result.php

должно работать и с HTML.

3 голосов
/ 08 декабря 2010

Это должно указать вам правильное направление:

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

0 голосов
/ 10 августа 2014

Это старый вопрос, но ответы здесь не совсем то, что мне было нужно, но указали мне правильное направление. Мы хотели минимизировать код 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"' {} \;

разрыв строки добавлен для ясности, его следует вводить в одну строку.

Я не эксперт по оболочкам, поэтому, возможно, потребуется некоторая очистка, но мы используем ее, и она работает. Мы используем его только после того, как код был размещен на сервере, а не на фактическом источнике разработки.

Также обратите внимание, что поскольку он найден, доступны все виды параметров фильтрации, а также параметр -maxdepth, чтобы запретить его действие на подпапки.

По сути, это просто использование команды find и выполнение оболочки, которая преобразует php в новый файл, удаляет исходный файл и переименовывает новый файл в исходное имя.

Опять же, это следует использовать только после того, как код был развернут на тестовом сервере или в рабочей среде, но не в активном коде разработки.

Мы также делаем нечто подобное для файлов CSS и JS ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...