метод __destruct смотрит в корень апача :(

  • Автор темы Автор темы VIRUS
  • Дата начала Дата начала

VIRUS

Новичок
метод __destruct смотрит в корень апача :(

Apache 2.2.8, PHP 5.2.6
Создаю простой скрипт:
PHP:
<?php

function z($a) {echo '<pre>'; print_r($a); echo '</pre>';}

class class_a {
	public function __construct() {
		$dir = glob('./*');
		z($dir);
	}
	public function __destruct() {
		$dir = glob('./*');
		z($dir);
	}
}

$obj_1 = new class_a;
?>
Деструктор показывает содержимое корня папки apache :confused:
Это глюк какой-то или так и должно быть ? Как с этим боросться ?
 
Вот результат работы скрипта:
Код:
Array
(
    [0] => ./destruct.php
)

Array
(
    [0] => ./ABOUT_APACHE.txt
    [1] => ./CHANGES.txt
    [2] => ./INSTALL.txt
    [3] => ./LICENSE.txt
    [4] => ./NOTICE.txt
    [5] => ./README.txt
    [6] => ./bin
    [7] => ./cgi-bin
    [8] => ./conf
    [9] => ./error
    [10] => ./htdocs
    [11] => ./icons
    [12] => ./include
    [13] => ./lib
    [14] => ./logs
    [15] => ./modules
)
 
Вот так работает корректно:
Только почему коректно ? Незнаю :(
PHP:
<?php

function z($a) {echo '<pre>'; print_r($a); echo '</pre>';}

class class_a {
	public function __construct() {
		$dir = glob('./*');
		z($dir);
	}
	function __destruct() {
		$dir = glob('./*');
		z($dir);
	}
}

function inner() {
	$obg = new class_a(__METHOD__);
	throw new Exception();
}
try {
	inner();
} catch (Exception $e) {}
?>
 
VIRUS, боюсь спросить, что же за функционал ты цепляешь на деструктор, если тебе существенно какая при этом текущая директория PHP. кроме того, не понял, исходя из чего ты расчитываешь, что она показывает именно на директорию с твоим скриптом.
 
я в деструкторе хотел сделать, что бы смарти выводил шаблон, а так же что бы смарти там инклудился.
 
Отличное решение! Как же мы раньше до этого не догадались. Лучшего способа запутать того, кто в этом коде будет разбираться после вас, не найти.
 
ты когда в туалет ходишь, тоже сначала воду спускаешь, а потом гадишь?
 
Сверху