funktioniert Wenn ich require_once
oder include_once
verwenden, um eine Datei schließen es nicht funktioniert, während, wenn ich require
oder include
verwenden es funktioniert gut.‚verlangen‘ Arbeit, sondern ‚require_once‘ nicht
public function ParseURL() {
require_once (APP_PATH . "config/config.php");
$this->url_as_parts = explode('/', $this->url);
$class = isset($this->url_as_parts[0]) ? $this->url_as_parts[0] : $config['default_controller'];
$method = isset($this->url_as_parts[1]) ? $this->url_as_parts[1] : "index";
$parms = isset($this->url_as_parts[2]) ? $this->url_as_parts[2] : "";
if (!class_exists($class)) {
trigger_error("The class {$class} not exists <br/>");
exit;
}
$controller = Object::get($class);
if (!method_exists($controller, $method)) {
header('HTTP/1.0 404 Not Found');
include(SYSTEM_PATH . "languages/" . $config['system_language'] . "/errors/404_not_found.html");
exit;
}
if (empty($parms)) {
$controller->{$method}();
} else {
$parms_array = array_slice($this->url_as_parts, 2);
call_user_func_array(array($controller, $method), $parms_array);
}
}
Die folgende Zeile erzeugt keinen Fehler und der Pfad korrekt ist require_once (APP_PATH . "config/config.php");
aber ich kippe Zugang $config['system_language']
die config.php
in der Datei ist.
Beachten Sie, dass alles in Ordnung ist, wenn ich die require_once
zu require
oder include
ändern.
Weil Sie die Funktion zweimal und für alle Zeiten nach dem ersten verwenden diese Datei nicht enthalten? –
Baybe Sie es einmal eingeschlossen, und überschreiben Sie die Werte von '$ config' irgendwo anders später in Ihrem Code –
Oh, es ist in einer Funktion ... Do 'global $ config;' innerhalb der Funktion oder übergeben Sie $ Config als Parameter Zu der Funktion –