phpist

Untitled

Oct 24th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. Объясните эти строки $file = basename($stack[$level]['file']);
  2. $line = $stack[$level]['line'];
  3.  
  4.  
  5. <?php ## Наследование.
  6. // Вначале подключаем "базовый" класс.
  7. require_once "File/Logger.php";
  8. // Класс, добавляющий в FileLogger новую функциональность.
  9. class FileLoggerDebug extends FileLogger
  10. {
  11. // Конструктор нового класса. Просто переадресует вызов
  12. // конструктору базового класса, передавая немного другие
  13. // параметры.
  14. public function __construct($fname)
  15. {
  16. // Такой синтаксис используется для вызова методов базового класса.
  17. // Обратите внимание, что ссылки $this нет! Она подразумевается.
  18. parent::__construct(basename($fname), $fname);
  19. // Здесь можно проинициализировать другие свойства текущего
  20. // класса, если они будут.
  21. }
  22. // Добавляем новый метод.
  23. public function debug($s, $level = 0)
  24. {
  25. $stack = debug_backtrace();
  26. $file = basename($stack[$level]['file']);
  27. $line = $stack[$level]['line'];
  28. // Вызываем функцию базового класса.
  29. $this->log("[at $file line $line] $s");
  30. }
  31. // Все остальные методы и свойства наследуются автоматически!
  32. }
  33. ?>
Advertisement
Add Comment
Please, Sign In to add comment