пробел исходного кода php - PullRequest
6 голосов
/ 17 ноября 2009

Мне знакома концепция минимизации в Javascript и то, как пробельные символы влияют на размеры файлов JS, но разве эта концепция не применима к сценариям PHP?

пробелы увеличивают размер файла скриптов php? мы можем минимизировать php-скрипты? или нет никакого смысла в этом, потому что пробелы в исходных кодах в php ни на что не влияют?

Ответы [ 5 ]

13 голосов
/ 17 ноября 2009

В этом нет никакого смысла, потому что пользователи не скачивают ваш PHP-файл. Нет необходимости минимизировать серверные сценарии.

4 голосов
/ 17 ноября 2009

Нет реального выигрыша в производительности от удаления пробелов из сценариев PHP. Переводчик просто игнорирует это.

Если вы действительно хотите удалить его, запустите

php -w foo.php > foo_small.php

удалит пробелы и комментарии.

Что будет влиять на производительность для конечного пользователя (при условии веб-среды), это размер вывода . Обычная вещь - использовать сжатие - посмотрите в настройку zlib.output_compression=TRUE или альтернативно ob_gzhandler .

4 голосов
/ 17 ноября 2009

Имеется небольшой прирост по скорости, если вы оптимизировали пробелы в файлах PHP (чтение и компиляция файла), но, по сравнению с остальными, незначительно (тем не менее, вы можете получить больше, переписывая все ненужные «preg_replace» с помощью соответствующих строковых методов).

На самом деле, есть возможность прекомпилировать файл PHP и представить этот оптимизированный код интерпретатору PHP. Найдите Zend Encoder или IonCube. Но тогда исходный файл больше не читается человеком .

Для файлов JS увеличение скорости происходит почти на 100% по сравнению с меньшим временем загрузки по HTTP .

2 голосов
/ 17 ноября 2009

Сохранить следующее содержимое в файле test.php

<?php
    //Hello I'm comment
    echo "Some code";
                              # There are spaces on the beginning of the line


    if (isset($_GET['a'])){
      var_dump($_GET['a']);
    } else {
      /*
        Some other comment
      */
      die('oooops');
    }

Запустите $ php -w test.php И он будет отображать источник с раздетыми комментариями и пробелами

<?php
echo "Some code"; if (isset($_GET['a'])){ var_dump($_GET['a']); } else { die('oooops'); }

В любом случае, вы должны использовать библиотеки кэша байт-кода для ускорения вашего кода. Удаление пробелов является неэффективным подходом.

1 голос
/ 17 ноября 2009

Если ваша php-программа также содержит html-код, вы можете захотеть, чтобы это минимизировалось, но я бы не рекомендовал это делать, так как теперь вам нужно хранить две копии одного и того же файла, одну для разработки, чтобы вы могли понять и один для сервера. Лучше улучшить скорость, используя другие альтернативы и, если это абсолютно необходимо, использовать этот способ.

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