Я пытаюсь угадать, почему в моем коде происходит нежелательное действие. Это мой код:
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
,
Где проблема? Заранее спасибо.
Это не имеет ничего общего с PHP. Я проверил мой .htaccess
файл, который имел эти правила:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+) index.php [L]
Я удалил RewriteCond %{REQUEST_FILENAME} !-d
и работает как положено.
Других решений пока нет …