"PHP" / Говнокод #3797 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
<?php
/*///////////////////////////////////////////////
Эта функция инклюдит файл.
Все, что этот файл отправляет на вывод,
не уходит на вывод, а возвращется этой функция

Для работы, функция использует функции ob, 
которые работают с буфером, поэтому 
использовать их для друхих целей нужно очень 
аккуратно и только, если вы знаете, 
как все это функционирует
///////////////////////////////////////////////*/

function s_file ( /*string-путь к файлу*/ $path )
{
    ob_start() ;              //Запускает буферизацию вывода 
    require ($path) ;         //Запускает файл по адрессу  
    return ob_get_clean () ;  //Возвращает содержимое буфера или FALSE при ошибке
}

?>

Запостил: Berliner Berliner, (Updated )

Комментарии (16) RSS

  • Какой аккуратный и пунктуальный ньюфаг. Сам Кэп бы позавидовал.
    Ответить
    • Буфер устроен в виде стека, его надо закрывать, что бы не было проблем, если до этого он бы открыт.
      И если бы автор сам знал как это функционирует, то сначала получил содержимое буфера, потом закрыл буфер и после вернул результат, а еще после не писал бы последние 5 строчек комментария.

      Примерно так
      ob_start();
      require ($path) ;
      $content = ob_get_contents();
      ob_end_clean();
      return $content;
      Ответить
        • ага, это мануал так говорит - не верьте. сам споткнулся об это при вложенных буферах. начинает сыпаться и путается в буферах
          все таки ob_get_contents перед ob_end_clean, как практика показала, надежнее
          Ответить
  • /**
    * Эта функция возвращает сумму двух (2) своих параметров
    * @param x -- первый (1) параметр (т.н. x)
    * @param y -- второй (2) параметр (т.н. y)
    **/
    function sum($x, $y) {
    $result =  $x+$y; //складываем два параметра, и сохраняем результат в переменной $result
    return $result; //возвращаем переменную $result. Эта переменная содержит сумму двух параметров: первого (x) и второго (y) (см. предыдущую строчку)
    }
    Ответить
  • <?php
    /*///////////////////////////////////////////////
    Это комментарий в файле PHP. 
    Комментарий не выполняет никаких действий.
    ///////////////////////////////////////////////*/
    
    // Сегодня на лабораторной работе 
    // мы изучили использование комментариев в PHP
    // Вывод: они действительно не
    // выполняют никаких действий.
    
    /*
    super-copyright 2010-3000!
    */
    
    ?>
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8