Созданная функция класса вызывается дважды

Я пытаюсь угадать, почему в моем коде происходит нежелательное действие. Это мой код:

index.php

include_once("MyClass.php");
new MyClass();

MyClass.php

class MyClass{

private $LOG;

function __construct(){

require_once("Initializer.php");
$initializer = new Initializer();
$this->LOG = $initializer->log;

//Calling the function that performs twice
$this->LOG->log("test");

}

}

Initializer.php

class Initializer{

public $log;

function __construct(){

require_once("Log.php");
$this->log = new Log();

}

}

Log.php

class Log{

function __construct(){
echo "This is not displaying twice";
}

//This function is performing twice
public function log($msg){
$logFile = fopen(TARGET_FILE, "a+");
fwrite($logFile, $msg . "\n");
fclose($logFile);
}

}

Я получаю в качестве вывода в TARGET_FILE:

test
test

Каждый раз, когда я выполняю index.php,

Где проблема? Заранее спасибо.

1

Решение

Это не имеет ничего общего с PHP. Я проверил мой .htaccess файл, который имел эти правила:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+) index.php [L]

Я удалил RewriteCond %{REQUEST_FILENAME} !-d и работает как положено.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]