require_once
또는 include_once
을 사용하여 파일을 포함 시키면 require
또는 include
을 사용할 때 정상적으로 작동합니다.'요구'작업을하지만 require_once가 작동하지 않습니다.
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);
}
}
는 다음 줄은 오류를 생성하지 않고 경로가 require_once (APP_PATH . "config/config.php");
정확하지만 파일 config.php
내부에 액세스 $config['system_language']
을 기울인다.
require_once
을 require
또는 include
으로 변경하면 모든 것이 정상입니다.
함수를 두 번 사용하고 첫 번째 이후에도 항상이 파일이 포함되어 있지 않으므로? –
Baybe 한 번 포함 시켰고 나중에 코드의 다른 부분에있는'$ config'의 값을 덮어 씁니다. –
아, 함수 안에 있습니다 ... 함수 내에서'global $ config;'를하거나 매개 변수로'$ config'를 전달하십시오 기능에 –