Задать вопрос
  • Phing и pre-processing исходного кода

    Aecktann
    @Aecktann
    Не дописал. Тогда брюки превращаются в элегантные шорты:
    protected function _doImportant() {
      $log->debug("doing important stuff now");
      foreach ($this->import as $moreimportant) {
        $log->debug("as I said, important or $moreimportant");
      }
      $log->debug("finished doing ach so important thing");
    }
    

    Никакого засорения константами или чем-либо еще. Да и выглядит лучше, чем множество #ifdef и т. п.
  • Phing и pre-processing исходного кода

    Aecktann
    @Aecktann
    >Я понимаю что Хабр не гугл, спрашиваю потому что гугл не дает ответа на мой вопрос.
    Лингвистическая шутка :). Дело в том, что вы не задали сам вопрос. Вы только сказали, что он вас интересует. Я иногда ищу в гугле запросы в стиле «php 5.3 замыкания», в которых тоже не содержится вопроса, если я не знаю, что конкретно я хочу узнать.

    >Пример который вы привели правильный, но в исходном коде будет находиться константа DEBUG, а мне надо что бы она убралась.
    Даже если подобная функциональность нужна не только в примере с debug'ом продукта, общую логику это не отменит. Препроцессинг ради препроцессинга — не PHP-way. Да, это удобно. Когда я пишу на C, я тоже применяю препроцессинг, но если язык предполагает другую идеологию — не стоит ее нарушать. Действия, которые должны выполняться/не выполняться в зависимости от режима работы программы (то есть это статическое условие относительно контекста выполнения) с 99% вероятностью можно инкапсулировать в отдельный класс. На примере с debug'ом:

    class Log {
      const DEBUGLEVEL=0;
      const WARNINGLEVEL = 1;
      /*
      ...
      */
      const DEBUGMODE = TRUE;
    
      public function plainWrite($message) {
        //smth
      }
      
      public function write($message, $level) {
        //smth
      }
    
      public function debug($message) {
        if (self::DEBUGMODE) {
          $this->write($message, self::DEBUGLEVEL);
        }
      }
    }
    


    Не стоит ходить со своим уставом в чужой монастырь другого языка.