Hallo
ich versuche nun schon seit einiger Zeit alle meine Klassen, libs- und Funktions-Dateien über require_once überall einzubinden.
Dazu hab ich eine init.php im Ordner /ProjName/core erstellt, die von allen weiteren Dateien eingebunden werden soll.
die Dateien sind auch alle vorhanden.
Ich hab hier extra einmal eine Konstante und einmal eine Variable verwendet, da so alle Fehler auftreten, die ich mir nicht erklären kann.
Warum ist die Variable hier nicht initialisiert?! (Netbeans hat mir das auch schon angezeigt, aber ich versteh es nicht).
Wenn ich dort stattdessen die Konstante verwendet funktioniert es.
Dafür bekomme ich dann:
Meine function.php sieht so aus:
Die Datei hat nicht mal 16 Zeilen und wenn ich sie einzeln Aufrufe, kommt der Fehler auch nicht. Dementsprechend vermute ich, dass es an der require_once liegt.
Bin sehr dankbar, wenn mir jemand erklären könnte warum es nicht funktioniert und noch besser wie ich es richtig mache.
Vielen Dank für jegliche Hilfe!
ich versuche nun schon seit einiger Zeit alle meine Klassen, libs- und Funktions-Dateien über require_once überall einzubinden.
Dazu hab ich eine init.php im Ordner /ProjName/core erstellt, die von allen weiteren Dateien eingebunden werden soll.
PHP-Code:
//starts session
session_start();
set_include_path ($_SERVER['DOCUMENT_ROOT']);
define("PATH", "/ProjName/");
$path_var = "/ProjName/";
//requires all classes and libs on use (creation of an object)
spl_autoload_register(function($class) {
switch ($class) {
default:
require_once ($path_var.'classes/'.$class.'.php');
break;
}
});
//requires functions
require_once(PATH.'functions/function.php');
//usw...
Ich hab hier extra einmal eine Konstante und einmal eine Variable verwendet, da so alle Fehler auftreten, die ich mir nicht erklären kann.
Notice: Undefined variable: path_var in E:\Programme\xampp\htdocs\ProjName\core\init.php on line 15
Wenn ich dort stattdessen die Konstante verwendet funktioniert es.
Dafür bekomme ich dann:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65488 bytes) in E:\Programme\xampp\htdocs\ProjName\functions\funct ion.php on line 16
PHP-Code:
<?php
/**
* use this similiar to assertions in Java
* @param type $bool assertion statement
* @param type $errmsg error message if assertion statement is wrong
*/
function ass($bool, $errmsg){
if(!$bool) {
Error::create(0, $_SERVER['PHP_SELF'], "Assertion Error: ".$errmsg);
die();
}
}
?>
Bin sehr dankbar, wenn mir jemand erklären könnte warum es nicht funktioniert und noch besser wie ich es richtig mache.
Vielen Dank für jegliche Hilfe!
Kommentar